iOS开发-属性含义与用法

iOS· UIGestureRecognizer 与UITouc

2018-08-30  本文已影响47人  小码僧

1. 回顾:添加手势的步骤

1.1 初始化时添加手势及事件
[self.view addGestureRecognizer:({
        UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapClickAction)];
        tap.delegate = self;
        tap;
    })];
1.2 实现方法事件
- (void)tapClickAction{
    //...
}
1.3 设置手势范围 -- 在UIGestureRecognizerDelegate代理中实现
#pragma mark - UIGestureRecognizerDelegate
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
        if ([gestureRecognizer locationInView:self.view].y>CGRectGetMaxY(self.topMenuView.bounds)&&[gestureRecognizer locationInView:self.view].y<self.functionalView.y) {
            return YES;
        }
}
#pragma mark - UIGestureRecognizerDelegate
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
        if ([touch locationInView:self.view].y>CGRectGetMaxY(self.topMenuView.bounds)&&[touch locationInView:self.view].y<self.functionalView.y) {
            return YES;
        }
}

2. 两种类的区别?

UIGestureRecognizer 与UITouch 都有一个 locationInView: 方法。

2.1 视图背景

VC中,self.view添加了一个WKWebView,然后在网页空白除点击。

2.2 实验结果

上面的两种方案中:

上一篇下一篇

猜你喜欢

热点阅读