UitextField resignFirstResponder 在滚动视图中不起作用
- 作者: 北斗地图_
- 来源: 51数据库
- 2022-10-21
问题描述
我有 2 个函数可以 resignFirstResponder,但是当文本字段在滚动视图中时它们都不起作用
I have 2 functions to resignFirstResponder but neither of them works when the textfields are in scrollview
我的功能:
-(BOOL)textFieldShouldReturn:(UITextField *)theTextField {
if (theTextField == textField1) {
[textField1 resignFirstResponder];
}
if (theTextField == textField2) {
[textField2 resignFirstResponder];
}
if (theTextField == textField3) {
[textField3 resignFirstResponder];
}
return YES;
}
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [[event allTouches] anyObject];
[textField1 resignFirstResponder];
[textField2 resignFirstResponder];
[textField3 resignFirstResponder];
}
我已经在 IB 中链接了滚动视图,我不知道为什么只有当我在滚动视图之外单击时它才在那里不起作用.所以它只响应视图,但是为什么?我认为 [[eventallTouches] anyObject] 响应 ANYObjects 处的 ALLtouches
I have linked the scroll view in IB, I can not find out why it does not works there only when I click outside of scrollview.so it only responds to view, but why?I thougth that [[event allTouches] anyObject] respond to ALLtouches at ANYObjects
感谢您的帮助
推荐答案
增加一个透明的视图,继承 UIControl 的大小等于你的滚动视图,不是更优雅一点吗到它的最后面,然后为这个新视图创建 IBAction?
Wouldn't it be a bit more elegant to add a transparent view that inherits UIControl with the size that equal to your scroll view to the very back of it and then just create IBAction for this new view?
