2011-01-13 162 views
2

我有2個viewcontrollers A,BiPhone - 訪問父視圖控制器?

  1. 的ViewController甲正在屏幕上顯示
  2. 視圖控制器B的視圖是 加入的ViewController A的視圖

如何我可以從ViewController B訪問ViewController A而不傳遞指針嗎?

self.parentViewController不起作用返回nuil

回答

0

這應該工作,雖然它不是很優雅:

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

這將返回一個UINavigaionView,它不會返回他的視圖控制器。我最終手動將父項傳遞給子項 – aryaxt 2011-01-13 22:49:08

1

爲什麼加入的viewController A的視圖的viewController B的看法?如果你有意向viewController A添加一個視圖,你可以通過分配一個新的UIView並在當前視圖上顯示它。另一方面,如果您試圖從一個視圖控制器轉換到另一個視圖控制器,即從A到B然後返回到A,則應該使用Apple文檔中「視圖控制器編程指南」中指定的UINavigationController 。

來源:View Controller Programming Guide

編輯:如果你想使用[[self parentViewController] yourMethodHere];你需要一個視圖層次,爲此,你可以使用的UINavigationController。在你現在的方案中沒有建立層次結構,所以沒有父視圖控制器。