fav*_*avo 29 keyboard xcode ipad ios4
我有一个UITextField的视图,它应该在按下返回时隐藏键盘.
我的功能是:
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
if ( textField == userPassword ) {
[textField resignFirstResponder];
}
return YES;
}
Run Code Online (Sandbox Code Playgroud)
通常键盘应该被隐藏但它仍然在屏幕上.正确调用resignFirstResponder.我错过了什么?
Bra*_*don 49
我看到你有这个iPad标签.您是否恰好使用UIModalPresentationFormSheet呈现模态视图?如果是这样,看起来这是FormSheet模式演示的限制(Apple出于某种原因故意这样做,或者它是一个bug).有关详细信息,请参阅其他问题:
ton*_*ack 33
这种有用的方法允许您在呈现模态对话框时关闭键盘:
- (BOOL)disablesAutomaticKeyboardDismissal { return NO; }
Run Code Online (Sandbox Code Playgroud)
这将覆盖Apple设置的模式对话框的默认行为,并允许您关闭键盘.它位于UIViewController类中.
我希望这可以帮助别人!
小智 10
如果您使用的是Interface Builder,请查看您的UITextField是否已将委托链接到您的类.
- 选择您的UITextField,并在Connections外观中退出Outlets-> delegate中的一个连接.如果没有,请与您的文件所有者类一致.
这需要与您的文件所有者类链接.该委托告诉在哪里搜索方法.如果您重写方法,则需要告诉对象将在何处搜索该方法.
在上述任何一项都没有之后,这个解决方案对我有用.在调用resignFirstResponder之后,我添加了一个模态视图并将其删除.
[myTextField resignFirstResponder];
UIViewController *dummyController = [[UIViewController alloc] init];
UIView *dummy = [[UIView alloc] initWithFrame:CGRectMake(-1, -1,1,1)];
[dummyController setView:dummy];
[self presentModalViewController:dummyController animated:NO];
[dummyController dismissModalViewControllerAnimated:NO];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
39773 次 |
| 最近记录: |