如何在使用 inputView 后显示键盘
Posted
技术标签:
【中文标题】如何在使用 inputView 后显示键盘【英文标题】:How to show keyboard after used inputView 【发布时间】:2012-07-27 22:21:53 【问题描述】:我使用inputView
为我的textfield
显示uipickerview
,但我对其他功能使用相同的textfield
。使用inputView
为textfield
后如何显示标准键盘?
textfield.inputView = pickrView;
【问题讨论】:
textfield.inputView = NO;为我工作 【参考方案1】:只是
textfield.inputView = nil;
为我工作
【讨论】:
你最好使用 nil 或 NULL 而不是 NO。 inputView 属性需要 UIView 而不是 BOOL。虽然这适用于 NO,因为 nil 并且 NO 都是数字 0,但如果您指定 YES,这将失败并崩溃。【参考方案2】:正如Pavel Kaljunen所说,你只需要将inputView设置为nil,但是当键盘已经可见时,你必须先resignFirstResponder,将inputView设置为nil,然后再次成为FirstResponder。
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.35];
[yourTextField resignFirstResponder];
yourTextField.inputView = nil;
[yourTextField becomeFirstResponder];
[UIView commitAnimations];
【讨论】:
【参考方案3】:我认为这段代码可能可以工作
[textField.inputView addTarget:self action:@selector(doTest) forControlEvents:UIControlEventTouchUpInside];
- (void)doTest
if([textFiled isFirstResponder])
[textFiled resignFirstResponder];
else
[textFiled becomeFirstResponder];
【讨论】:
以上是关于如何在使用 inputView 后显示键盘的主要内容,如果未能解决你的问题,请参考以下文章
适用于iPhone X的自定义键盘inputView.frame大小