それが私がポップオーバーを提示する方法です
- (IBAction)openImage:(id)sender {
OptionViewController *option = [[OptionViewController alloc] init];
option.delegate = self;
if (!popoverController) {
popoverController = [[UIPopoverController alloc] initWithContentViewController:option];
}
popoverController.delegate = self;
[popoverController setPopoverContentSize:CGSizeMake(320, 88)];
[popoverController presentPopoverFromRect:((UIButton *)sender).bounds inView:sender permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
}
オプションView Controllerあり
#pragma mark - Table view data source
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
// Return the number of sections.
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
// Return the number of rows in the section.
return 2;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] ;
}
NSInteger section = [indexPath row];
switch (section) {
case 0: // First cell in section 0
cell.textLabel.text = @"From library";
break;
case 1: // Second cell in section 1
cell.textLabel.text = @"Make a photo";
break;
default:
// Do something else here if a cell other than 1,2,3 or 4 is requested
break;
}
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
// I set breakpoints there. For now it doesn't work.
}
OptionViewController は UITableViewController (継承) であり、デリゲートと datasourse = self (OptionViewController インスタンスの場合) を持つ UITableView を含みます。
私もXIBを使用しています。XIB UITableView では、各面 (左、上、右、下) の自動サイズ変更マスク設定
他のメソッドでは、ビューや他のアクションをロックできる追加のメソッドを呼び出しません。
カラー オフスクリーン レンダリング オプションを含むスクリーンショットがあります