2

私は ios5、Xcode 4、iPad を使用したプロジェクトに取り組んでいます。

メイン ビューの標準ボタンからトリガーされるポップオーバーがあります。標準ボタンに固定されたセグエを使用して、ストーリーボードにポップオーバーを設定しました。

UIPopoverControllerDelegate は私のメイン ビュー コントローラーです

 @interface ViewController : UIViewController <UIPopoverControllerDelegate>

ポップオーバーで行を選択すると、

  • ポップオーバーを閉じて
  • UIPopoverControllerDelegate メソッド popoverControllerDidDismissPopover を呼び出します。

これは、私のポップオーバーのテーブル ビュー デリゲートのコードです。

 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath      *)indexPath {
     myKey = [myArray objectAtIndex:indexPath.row];
     [popoverController dismissPopoverAnimated:YES];
     // [popoverController.delegate popoverControllerDidDismissPopover];

最後の行なし、すべての作品はOK、行の選択と除外が含まれています。

しかし、コードの最後の行と混同しています

     [popoverController.delegate popoverControllerDidDismissPopover];

この行のコメントを外すと、「セレクター popoverControllerDidDismissPopover の既知のインスタンス メソッドがありません」というコンパイラ エラーが発生します。ポップオーバー デリゲートは、次のコードでメイン ビュー コントローラーに設定されます。

- (void) prepareForSegue:(UIStoryboardPopoverSegue *) segue sender:(id) sender {
     if ([[segue destinationViewController] isKindOfClass:[RGBViewController class]]) {
        RGBViewController* viewController = (RGBViewController*)[segue destinationViewController];
        UIStoryboardPopoverSegue* popoverSegue  = (UIStoryboardPopoverSegue*)segue;
        [viewController setPopoverController:[popoverSegue popoverController]];
        [[popoverSegue popoverController] setDelegate:self];
     }
 }

何か助けはありますか?

ありがとうございました。

4

1 に答える 1

5

属性がありません。探している行は次のとおりです。

[popoverController.delegate popoverControllerDidDismissPopover:popoverController];

これを呼びたい特別な理由はありますか?ポップオーバーを閉じるときに、これを呼び出す必要があると思います。

于 2012-07-23T20:27:46.640 に答える