gpt4 book ai didi

ios - 检测点击 UIView 的 "empty space"

转载 作者:技术小花猫 更新时间:2023-10-29 10:57:51 24 4
gpt4 key购买 nike

我有一个看起来像那样的 View 层次结构

UIScrollView
|
+- UIView
|
+- UITextField
+- UITextField
+- UIButton

我想要的是让点击其中一个文本字段并在屏幕上看到键盘的用户能够点击 UIView 的“空白区域”来隐藏键盘。因此,例如,我不希望 UIButton 的事件冒泡到 UIView(这正是我将 UITapGestureRecognizer 添加到 UIView 时发生的情况)。

如何实现所需的功能?

最佳答案

在您的 viewDidLoad 方法中添加此手势识别器:

UITapGestureRecognizer *gestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(dismissKeyboard)];
gestureRecognizer.cancelsTouchesInView = NO;
[self.view addGestureRecognizer:gestureRecognizer];

然后添加dismissKeyboard方法:

- (void) dismissKeyboard{
[YOURFIELDHERE resignFirstResponder];
}

您还需要添加它以使按钮仍然可点击并且不会被手势识别器覆盖:

gestureRecognizer.delegate = self; // in viewDidLoad
<UIGestureRecognizerDelegate> //in your header file

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {

if ([touch.view isKindOfClass:[UIButton class]]){
return NO;
}
return YES; // handle the touch
}

关于ios - 检测点击 UIView 的 "empty space",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11101502/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com