触摸内部视图和外部按钮时触发事件

问题描述:

我有一个视图覆盖到iPhone的相机视图。在这个视图中,我有一些依赖于来自加速计/罗盘的值显示在位置上的uibutton。 当用户触摸视图内部时,我需要触发一个事件,但他不会触及uibuttons内部,我的意思是,触摸uibuttons内部的相反动作。 任何人都知道这样做吗? 谢谢!触摸内部视图和外部按钮时触发事件

我想你的选择,但它不能正常工作。我尝试触发事件的观点是在相机视图中的TabBar项目中,所以我认为响应者链不适用于它。 最后,我解决了问题做覆盖查看第一响应者:[viewOverlay.view becomeFirstResponder];

如果要实现UIResponder的touchesBegan:withEvent:方法方法..

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 

...在你看来,你就可以告诉当用户按下按钮之外。

查看UIResponder Class Reference了解更多信息。

你可以例如分配一个事件处理程序(IBAction为)到UiVeiw及其UIButtons,然后比较发送参数:

-(IBAction) viewClicked :(id) sender { 
    if (id == myView) ... 
}