2011-01-13 3 views
2

Iは、A、BiPhone - 親ViewControllerにアクセスしていますか?

  1. のViewController Aは のViewController Bの図
  2. 画面上に表示されているが がのViewController A.どの

のビューに追加された2 viewcontrollersを有しますViewController Bからポインタを渡さずにViewController Aにアクセスできますか?

self.parentViewControllerは、これは、その非常にエレガントされていないが動作するはずですnuil

答えて

0

を返す動作しません:

UIViewController* viewControllerA = 
    (UIViewController*) [[self.view superview] nextResponder]; 
+0

これはUINavigaionViewを返しますが、View Controllerを返しません。私は親を子どもに手作業で渡した – aryaxt

1

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

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

出典:View Controller Programming Guide

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

関連する問題