在我的应用程序中,我必须从UIPickerView
中存在的值填充UITextField
,而不是通过键盘。
我有2UITextFields
。在第一个文本字段中,从键盘获取值,在第二个文本字段中,从UIPickerView
获取值。
因此,在点击第二个文本字段,我想隐藏键盘,并显示UIPickerView
。
这就是我所做的:
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
[pickerToolBar setHidden:NO];//shows toolbar
[pickerTime setHidden:NO];//shows UIPickerView
[textField resignFirstResponder];
}
但是在写入上述代码之后,键盘不会消失。
6条答案
按热度按时间55ooxyrt1#
尝试
UITextfield
委托方法。将下面的代码放在texfielddidBeginEditing
方法中。然后,文本字段将阻止编辑,键盘将不会出现。确保将文本字段委托附加到文件所有者。
vecaoik12#
当焦点位于UITextField中时,无法隐藏键盘...
您必须将UIPicker放置在不会隐藏在键盘后面的位置,以便在选择值时它不会成为您的障碍。
如果你从UIPicker中选择值,那么为什么你需要点击UITextField,所以如果你没有点击UiTextField,键盘将不会显示...
Cheers!!!
tzxcd3kk3#
尝试使用文本字段可编辑属性为FALSE或用户交互启用属性为false,并添加一个自定义按钮,该按钮与打开选择器视图的按钮事件的文本字段大小相同。
tzdcorbm4#
emeijp435#
这些答案可能会起作用,但没有人给你最好的答案;当点击文本字段时,你可以用uipickerview替换键盘视图:)
nbysray56#
如果基于UIPicker填充UITextField,为什么不简单地禁用用户与UITextField的交互?您仍然可以将数据放在那里,用户将无法更改它。然而,要强制键盘保持隐藏状态,您可以让UITextField检测它何时被触摸/更改/等,然后让它重新成为第一响应者。