如何访问超级视图控制器?
问题描述:
我有一个问题,我会尽量解释这个问题:如何访问超级视图控制器?
- 我有一个主要的
UIViewController
(全屏幕) - 我有一个二次
UIViewController
(的setBounds) -
我说我的次要视图我
mainView
以此来:[mainController.view addSubview:secondaryController.view];
-
我创建了一个第三控制器:
modalController
,我把它添加到我的secondar Ÿ控制器是这样的:[secondaryController presentModalViewController:modalController animated:YES];
我做基于某些事件演算我
modelController
内。-
我我
modalController
我secondaryController
使用我能够从发送消息:[[self parentViewController] performSelector : @selector(myMethodInSecondaryController:) withObject : myObject afterDelay : .5];
注: “自我” 对应于
modalController
-
我需要 “myObject的” 传递给我的
mainController
,但我不能从secondaryController
参考我的mainController
。我尝试这样做:[[self parentViewController] performSelector : @selector(myMethodInMainController:) withObject:myObject afterDelay : .5];
注: “自我” 对应于
secondaryController
,但它不使用工作,我可以访问我的mainController的观点:
self.view.superview
注意:“self”is my
secondaryController
,但不对其控制器。
答
在您的辅助控制器,尝试
id mainViewController = [self.view.superview nextResponder];
和检查,如果这是你要找的视图控制器。
苹果的-[UIResponder nextResponder]
文档:
的UIView通过返回管理它的UIViewController对象实现此方法(如果有的话),或者它的父(如果它不)
感谢尼古拉!!!!!!!!!!!!!!!!! 这工作完美:) 谢谢 从瓜达拉哈拉墨西哥的问候! Alejandra :) – Alejandra 2009-06-23 20:04:22