我遇到了问题,我会尝试解释这个问题:
UIViewController
(整个屏幕)UIViewController
(setbounds)我使用以下内容将我的辅助视图添加到mainView
:
[mainController.view addSubview:secondaryController.view];
我创建了第三个控制器:modalController
,我将它添加到我的辅助控制器中,如下所示:
[secondaryController presentModalViewController:modalController animated:YES];
我根据modelController
内的一些事件制作微积分。
我可以使用以下内容从modalController
向secondaryController
发送消息:
[[self parentViewController] performSelector : @selector(myMethodInSecondaryController:) withObject : myObject afterDelay : .5];
注意:“自我”对应modalController
我需要将“myObject”传递给mainController
,但我无法从mainController
引用我的secondaryController
。我试过这个:
[[self parentViewController] performSelector : @selector(myMethodInMainController:) withObject:myObject afterDelay : .5];
注意:“self”对应secondaryController
但它不起作用,我可以使用self.view.superview
注意:“自我”是我的secondaryController
但对其控制器没有。
答案 0 :(得分:32)
在辅助控制器中,尝试
id mainViewController = [self.view.superview nextResponder];
并检查这是否是您正在寻找的视图控制器。
Apple的-[UIResponder nextResponder]
文档:
UIView通过返回管理它的UIViewController对象(如果有的话)或超级视图(如果没有)来实现此方法