Ios 如何在UIScrollView中实现键盘的ResignFirstResponder?
可能重复:Ios 如何在UIScrollView中实现键盘的ResignFirstResponder?,ios,xcode,uiscrollview,Ios,Xcode,Uiscrollview,可能重复: 我正在我的应用程序中使用UIScrollView。我把几个文本字段和按钮。当他们触摸文本框外部时,我想隐藏我的键盘。(我的意思是他们将在uiscrollview上进行录制)。我试过很多东西。。。我使用UIgestureRecognitor,但它不工作。。。“帮助”请在您的视图中尝试以下代码 - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { UITouch *touch = [[event a
我正在我的应用程序中使用UIScrollView。我把几个文本字段和按钮。当他们触摸文本框外部时,我想隐藏我的键盘。(我的意思是他们将在uiscrollview上进行录制)。我试过很多东西。。。我使用UIgestureRecognitor,但它不工作。。。“帮助”请在您的视图中尝试以下代码
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [[event allTouches] anyObject];
if ([yourTextView isFirstResponder] && [touch view] != yourTextView) {
[yourTextView resignFirstResponder];
}
}
这是刚刚尝试过的解决方案,它是有效的。。希望有帮助 将以下代码添加到viewDidLoad中
-(void)viewDidLoad {
//create a tapGesture which calls a removeKeyboard method
UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(removeKeyboard)];
tapGesture.cancelsTouchesInView = NO;
[self.yourScrollView addGestureRecognizer:tapGesture];
}
-(void)removeKeyboard {
[self.yourTextField resignFirstResponder];
}
希望有助于……它不起作用。。。我复制了代码并用我的文本框进行了尝试。但它不起作用。我使用的不是您的TextView,而是我的textFieldName。您的代码有[touch view],但我使用的是覆盖整个UIView的UIScrollview。您的视图是否设置为UITextField的代理?我设置了scrollview.delegate=self;这是将scrollview设置为委托的正确方法吗?或者我应该改为查看?如何将UIView设置为我的委托?您的文本字段需要文件所有者(视图)的委托设置。您可以在Interface Builder中通过将代理拖动到“文件所有者”来完成此操作,如此屏幕截图所示。谢谢你,先生。。。你是救世主。。