所以,我有一个带有UIScrollView的视图。对于这个ScrollView,我添加了一个像这样的子视图:
ChildViewController *controller = [self.storyboard instantiateViewControllerWithIdentifier:@"1"];
[self.scrollView addSubview:controller.view];
这很好用。在这个子控制器中,我定义了一个带有目标self的按钮:
[button addTarget:self action:@selector(actionButton:) forControlEvents:UIControlEventTouchDown];
如果单击按钮,程序会中断。但是如果我将目标设置为nil,则将父控制器称为第一响应者。
但是,我希望在子控制器中调用该操作。我无法从Parent传达给子视图或从Parent / Superview调用一个动作。
我做错了什么?我如何让它工作?
答案 0 :(得分:0)
如果没有更多内容,我的第一个猜测就是ChildViewController
被取消分配,这就是您点按按钮时应用崩溃的原因。
所以解决这个问题的方法可能就是保持对ChildViewController
的强烈引用,如:
@property (strong) ChildViewController *childViewController
然后你会这样做:
self.childViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"1"];
[self.scrollView addSubview:self.childViewController.view];
但更多信息会有所帮助:)
干杯 的Morten