2

2つのビューコントローラーA、Bがあります

  1. ViewController A が画面に表示されている
  2. ViewController B のビューが ViewController A のビューに追加されます。

ポインタを渡さずにViewController BからViewController Aにアクセスするにはどうすればよいですか?

self.parentViewController が機能せず、nuil が返される

4

2 に答える 2

1

viewController B のビューが viewController A のビューに追加されるのはなぜですか? viewController A にビューを追加する場合は、新しい UIView を割り当てて、それを現在のビューの上に表示することで実行できます。

一方、あるビュー コントローラから別のビュー コントローラに移行しようとしている場合、つまり、A から B に移動してから A に戻る場合は、Apple ドキュメントのビュー コントローラ プログラミング ガイドで指定されているように、UINavigationController を使用する必要があります。

出典: View Controller プログラミング ガイド

編集: 使用する[[self parentViewController] yourMethodHere];場合は、UINavigationController を使用できるビュー階層が必要です。現在のスキームには階層が構築されていないため、親ビューコントローラーはありません。

于 2011-01-13T19:24:53.110 に答える
0

これはあまりエレガントではありませんが動作するはずです:

UIViewController* viewControllerA = 
    (UIViewController*) [[self.view superview] nextResponder];
于 2011-01-13T18:56:12.607 に答える