Ios 在视图控制器中捕获子视图类的事件

Ios 在视图控制器中捕获子视图类的事件,ios,objective-c,ios5,ios6,Ios,Objective C,Ios5,Ios6,我有两个子视图,上面有一个UIbutton我想要的是在我的视图控制器中捕获按钮点击,并更改驻留在其中的视图的颜色,一种方法是在子视图类中创建视图控制器的对象,并直接更改视图的颜色,但我不想这样做。有人能告诉我另一种方法吗。在视图控制器的viewDidLoad中,添加以下内容: [subview.button addTarget:self action:(buttonWasTapped:) forControlEvents:UIControlEventTouchUpInside]; 其中子视图。

我有两个子视图,上面有一个UIbutton我想要的是在我的视图控制器中捕获按钮点击,并更改驻留在其中的视图的颜色,一种方法是在子视图类中创建视图控制器的对象,并直接更改视图的颜色,但我不想这样做。有人能告诉我另一种方法吗。

在视图控制器的
viewDidLoad
中,添加以下内容:

[subview.button addTarget:self action:(buttonWasTapped:) forControlEvents:UIControlEventTouchUpInside];
其中
子视图。按钮
引用相关子视图中的按钮。另外,将此事件处理程序添加到视图控制器:

- (void)buttonWasTapped:(id)sender {
    // Button in subview was tapped; change the colour of the view here
}

并实现点击按钮时需要执行的逻辑

您应该编写一些代码来描述您的问题这是否意味着我必须从子视图的自定义初始化中删除选择器方法?因为我已经在子视图初始值设定项中添加了目标操作,如果在子视图中不再需要它,请删除它。实际上,您可以向控件添加任意数量的事件处理程序。这就是我想知道的,如果选择器方法已在自定义初始化中声明,如何捕获事件。您的操作与我的回答完全相同
UIControl
UIButton
的超类)为每个事件保留目标和操作的数组。您可以在视图的初始化器中添加事件处理程序,也可以在视图控制器中添加不同的选择器。最后一个查询是否可以为UIcontrol目标操作事件数组提供更多信息,希望将来对此有更清晰的了解