我有一个带有多个文本框的UIView.现在我使用委托将响应者从文本字段更改为另一个.在这种情况下,当用户到达最后一个文本字段时,我的键盘会消失.
但是现在我想在用户触摸UIView时隐藏我的键盘(除了文本框之外触摸屏幕上的任何位置).有人可以帮我弄这个吗.
谢谢
PCh*_*ese 43
在touchesBegan中使用resignFirstResponder,如下所示:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch * touch = [touches anyObject];
if(touch.phase == UITouchPhaseBegan) {
[self.myTextField resignFirstResponder];
}
}
Run Code Online (Sandbox Code Playgroud)
如果您不确定焦点当前位于何处,则可能需要在多个文本字段上调用此字段; 我没有测试那个案子.
此外,在Interface Builder中,您需要为视图启用"启用用户交互"复选框,或以编程方式使用:
myView.userInteractionEnabled = YES;
Run Code Online (Sandbox Code Playgroud)
小智 14
我用
-(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
UITouch *touch = [touches anyObject];
if(touch.phase==UITouchPhaseBegan){
//find first response view
for (UIView *view in [self.view subviews]) {
if ([view isFirstResponder]) {
[view resignFirstResponder];
break;
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
28967 次 |
| 最近记录: |