0

それが私がポップオーバーを提示する方法です

- (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 では、各面 (左、上、右、下) の自動サイズ変更マスク設定

他のメソッドでは、ビューや他のアクションをロックできる追加のメソッドを呼び出しません。

カラー オフスクリーン レンダリング オプションを含むスクリーンショットがあります

ここに画像の説明を入力

4

1 に答える 1

1

OptionViewController のデリゲートを正しく設定していないと思います。デリゲート メソッドの実装が OptionViewController にある場合は、option.delegate の設定を削除するか、それ自体に設定する必要がありますoption.delegate = option;

dataSourceデリゲート(option.dataSource)は機能しているように見えますが、デリゲート(option.delegate)ではありません。

于 2012-07-24T17:03:45.027 に答える