子视图中的UIButton在父对象中调用方法
问题描述:
我正在使用通用链接。 因此,当通用链接点击应用程序是开放的,从AppDelegate中我加载视图控制器:子视图中的UIButton在父对象中调用方法
ConViewController *con = [[UIStoryboard storyboardWithName:@"Main"
bundle:nil] instantiateViewControllerWithIdentifier:@"ControllerName"];
[[[UIApplication sharedApplication] keyWindow] addSubview:con.view];
在此(“CON”)视图控制器我有UIView的一个NIB:
UIView *NibView = [[[NSBundle mainBundle] loadNibNamed:@"NibName"
owner:self options:nil] lastObject];
[_PageView addSubview:SingleView];
-------
| con |
| |
|-----|
||Nib||
|| ||
|-----|
-------
问题: 在NibView中我有UIButton。 按钮操作的实现位于“ConViewController”中。 但是,只有当我把实现放在AppDelegate(Parent)中时才会调用Action。
为什么会发生? 以及我如何改变它? 谢谢!
答
当您在Window上将ViewController作为子视图添加时,您并未将View Controller设置为rootView控制器,或者您没有推送到视图控制器(详细地说,您只添加视图控制器的视图窗口),你的视图控制器不在内存中,所以你在视图控制器中创建的每个动作都不起作用,我们有一个基于堆栈的方法(即视图控制器堆栈),而你的viewController不在堆栈或内存中,所以如果你创建appdelegate的按钮动作。
感谢您的回复。 你能给我一个参考来学习更多关于它吗? –
希望你明白这一点,欢迎 – mukul