0

UIPopOverController にはタグ プロパティがありますか?

複数の UIPopOverControllers がありますが、それらをデリゲート メソッドと区別するにはどうすればよいですか?

ありがとう。

4

2 に答える 2

2

いいえ、tagプロパティはビューとバー ボタン アイテムのみにあり、ビュー コントローラーにはありません。

ただし、すべてのUIPopoverViewControllerDelegateメソッドにはpopoverViewController変数が渡されます。その変数をポップオーバー コントローラー オブジェクトと比較することで、どれがデリゲート メソッドを呼び出しているかを知ることができます。

- (void)popoverControllerDidDismissPopover:(UIPopoverController *)popoverController {
    if (popoverController == myFirstPopoverController) {
        // do something
    }
}

これは、iOS のすべてのデリゲート メソッドに当てはまり、すべてのメソッドが変数をUITableViewDelegate受け取ることに注意してください。tableView

于 2013-08-20T20:31:33.673 に答える
0

アップルのドキュメントによると、タグ プロパティはありません。タグ プロパティは、UIPopoverController ではない UIView のサブクラスであることに由来します。実際、UIPopoverController は NSObject から直接継承しています。

デリゲート コールバックが実行されると、コールバックを呼び出した UIPopoverController の正確なインスタンスが渡されます。

これは、次の 2 つのプロトコル メソッドを使用してUIPopoverControllerDelegate ドキュメントで確認できます。

– popoverControllerShouldDismissPopover:
– popoverControllerDidDismissPopover:
于 2013-08-20T20:31:52.907 に答える