美文网首页
UIScrollview 上的点击背景退出编辑状态

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

作者: 炸街程序猿 | 来源:发表于2023-03-27 09:34 被阅读0次

为 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;

}

相关文章

网友评论

      本文标题:UIScrollview 上的点击背景退出编辑状态

      本文链接:https://www.haomeiwen.com/subject/qizardtx.html