83.手势过滤和手势屏蔽
来源:互联网 发布:大学生智慧树网络课程 编辑:程序博客网 时间:2024/04/30 03:35
如何屏蔽指定区域利用 tap 手势, 利用 tap 手势, 在其代理方法中进行区域限制, 然后根据需要返回 YES / NO
#import "ViewController.h"@interface ViewController ()<UIGestureRecognizerDelegate>@property (weak, nonatomic) IBOutlet UIView *bottomView;@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tapEvent)]; tap.delegate = self; [_bottomView addGestureRecognizer:tap];}- (void)tapEvent{ NSLog(@"点击了我");}//屏蔽某些位置点击是否可用-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{ if ([gestureRecognizer isKindOfClass:[UITapGestureRecognizer class]]) { CGPoint position = [touch locationInView:_bottomView]; //屏蔽手势 if (position.x < 150) { return NO; } } return YES;}
另外在公开 API 中 , GestureRecognizer总共6个代理方法, 如下:
-(BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer{ return YES;}-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{ return YES;}-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceivePress:(UIPress *)press{ return YES;}-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer{ return YES;}-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRequireFailureOfGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer{ return NO;}-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldBeRequiredToFailByGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer{ return YES;}
最后附上私有 API 中的两个代理方法, 有兴趣的可以看一看, 审核是否会被拒, 这个本人没有试验过, 不可得知:
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer canBePreventedByGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer { BOOL result = YES;// something you do return result; } - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer canPreventGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer { BOOL result = YES;// something you do return result; }
0 0
- 83.手势过滤和手势屏蔽
- iOS,手势和Button共存,button动作被屏蔽怎么办。
- 屏蔽WebBrowser控件的手势
- 手势
- 手势
- 手势
- 手势
- 手势
- 手势
- 手势
- 手势
- 手势
- 手势
- 手势
- 手势
- 手势
- 手势
- 手势
- HDU 1260Tickets
- leetcode 53. Maximum Subarray
- 你的产品该如何做好?—NPS
- const的用法总结
- 今日头条学习(1)_实现滑动标题栏
- 83.手势过滤和手势屏蔽
- HDU-4964 Emmet (模拟)
- Struts2 - 常用的constant总结
- Java多线程之Lock的使用
- android删除系统内置apk(system/app目录下apk)
- android studio使用问题及说明
- 网络知识---http请求几种方式
- [leetcode]Next Permutation
- 将txt文本数据导入到Oracle数据库中去