UIScrollview 上的点击背景退出编辑状态

为 UIScrollView 添加点击事件,从而实现 scrollview 上的点击背景退出编辑状态。

直接代码呈上:

一、先要支持协议 UIGestureRecognizerDelegate

二、为你需要添加点击事件的 scrollview 添加点击手势

// 对 srcollView 添加点击响应
    UITapGestureRecognizer *sigleTapRecognizer = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(clickBackView)];
    sigleTapRecognizer.delegate=self;
    sigleTapRecognizer.numberOfTapsRequired = 1;

    [_baseScrollView addGestureRecognizer:sigleTapRecognizer];

三、点击后的处理 ----- 这里是点击 scrollview 上空白处才进行处理

// 点击背景取消所有编辑状态
-(void)clickBackView
{
    NSLog(@" 点了一下背景 ");
    [_baseScrollView endEditing:YES];
}

#pragma mark UIGestureRecognizerDelegate
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
    // 输出点击的 view 的类名
    NSLog(@"%@", NSStringFromClass([touch.view class]));
   
    // 若为 ScrollView 的点击事件才响应,scrollview 上的 UIButton、UILabel 啥的点了也不会进哦
    if ([NSStringFromClass([touch.view class]) isEqualToString:@"UIScrollView"]) {
        return YES;
    }
    return  NO;

}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容