最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
IOS开发之手势响应事件优先级的实例详解
时间:2022-06-26 05:57:39 编辑:袖梨 来源:一聚教程网
IOS开发之手势响应事件优先级的实例详解
交互响应事件都是通过手势的操作完成的,如点击、或双击、或长按,这些交互都是在视图中完成的,但是不同的视图可能会有不同的交互,有时候就会出现交互响应事件冲突的情况。这时候就需要处理事件优先级,以便达到想要的效果。
示例场景:一个自定义模式视图view中,有一个列表视图table,同时有一个确定的按钮视图button;在view中有一个单击事件UITapGestureRecognizer,在table中点击每个cell也会有点击事件,同样的button中有个点击事件;三个视图中的事件是互不相干的,但也有可能会造成冲突,即达到的效果不是想要的。
解决方案:设置手势代理法,区分响应事件
1 代理协议
UIGestureRecognizerDelegate
2 添加的单击事件
UITapGestureRecognizer *recognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(singleClick)]; recognizer.delegate = self; [self addGestureRecognizer: recognizer];
3 优先级
#pragma mark - UIGestureRecognizerDelegate
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
if (gestureRecognizer.view == touch.view)
{
return YES;
}
return NO;
}
相关文章
- 暗喻幻想:ReFantazio御剑滑行方法 10-29
- 暗喻幻想:ReFantazio黄金虫数量说明 10-29
- 暗喻幻想魔坏之锤获取方法攻略分享 10-29
- 暗喻幻想:ReFantazio难度更改说明 10-29
- 暗喻幻想古井死胡同BOSS打法攻略分享 10-29
- 骗子酒吧骗子骰子游戏规则介绍说明 10-29