-1

所以,我有一个带有 UIScrollView 的视图。在这个 ScrollView 中,我添加了一个这样的子视图:

ChildViewController *controller = [self.storyboard instantiateViewControllerWithIdentifier:@"1"];
    [self.scrollView addSubview:controller.view];

这工作正常。在这个子控制器中,我定义了一个带有目标自身的按钮:

[button addTarget:self action:@selector(actionButton:) forControlEvents:UIControlEventTouchDown];

如果我单击按钮,程序就会中断。但是如果我将目标设置为 nil,则父控制器被称为第一响应者。

但是,我希望在子控制器中调用该操作。我无法从父视图与子视图通信或从父视图/超级视图调用操作。

我究竟做错了什么?我怎样才能让它工作?

4

1 回答 1

0

没有更多的继续,我的第一个猜测是ChildViewController被释放了,这就是为什么当你点击按钮时你的应用程序崩溃的原因。

因此,解决此问题的一种方法可能是强烈引用您的ChildViewController喜欢:

@property (strong) ChildViewController *childViewController

那么你会这样做:

self.childViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"1"];
[self.scrollView addSubview:self.childViewController.view];

但更多信息会有所帮助:)

干杯莫顿

于 2013-06-18T23:09:18.360 回答