触摸内部视图和外部按钮时触发事件
问题描述:
我有一个视图覆盖到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) ...
}