2つのビューコントローラーA、Bがあります
- ViewController A が画面に表示されている
- ViewController B のビューが ViewController A のビューに追加されます。
ポインタを渡さずにViewController BからViewController Aにアクセスするにはどうすればよいですか?
self.parentViewController が機能せず、nuil が返される
2つのビューコントローラーA、Bがあります
ポインタを渡さずにViewController BからViewController Aにアクセスするにはどうすればよいですか?
self.parentViewController が機能せず、nuil が返される
viewController B のビューが viewController A のビューに追加されるのはなぜですか? viewController A にビューを追加する場合は、新しい UIView を割り当てて、それを現在のビューの上に表示することで実行できます。
一方、あるビュー コントローラから別のビュー コントローラに移行しようとしている場合、つまり、A から B に移動してから A に戻る場合は、Apple ドキュメントのビュー コントローラ プログラミング ガイドで指定されているように、UINavigationController を使用する必要があります。
出典: View Controller プログラミング ガイド
編集: 使用する[[self parentViewController] yourMethodHere];
場合は、UINavigationController を使用できるビュー階層が必要です。現在のスキームには階層が構築されていないため、親ビューコントローラーはありません。
これはあまりエレガントではありませんが動作するはずです:
UIViewController* viewControllerA =
(UIViewController*) [[self.view superview] nextResponder];