Iphone 隐藏键盘的ios
我的问题是:Iphone 隐藏键盘的ios,iphone,keyboard,uitextfield,uipickerview,uipopovercontroller,Iphone,Keyboard,Uitextfield,Uipickerview,Uipopovercontroller,我的问题是:实现“在PickerView(位于PopOver内)可见时隐藏键盘”的最佳方法是什么? 我想要什么: 我有一个视图,它有大约15个文本字段。在15个中,假设7个使用UIPickerView(驻留在uipopcovercontroller)来实现下拉功能。我的问题是,当键盘可见时,我用UIPickerView单击UITextField,键盘没有隐藏。实现这一点的最佳方式是什么 我的尝试: 我试图实现inputView,但它仅用于UIPickerView,而我在uipopcovercon
实现“在PickerView(位于PopOver内)可见时隐藏键盘”的最佳方法是什么?
我想要什么:
我有一个视图,它有大约15个文本字段。在15个中,假设7个使用UIPickerView
(驻留在uipopcovercontroller
)来实现下拉功能。我的问题是,当键盘可见时,我用UIPickerView
单击UITextField
,键盘没有隐藏。实现这一点的最佳方式是什么
我的尝试:
我试图实现inputView
,但它仅用于UIPickerView
,而我在uipopcovercontroller
内部有UIPickerView
。我想这就是我无法使用inputView
属性的原因。根据这一点,它是来自苹果的Bug
更新:
听着,我知道使用textField委托,我们可以实现这一点。但是我发现了UITextField
的inputView
属性,我发现它非常有趣,因为您只需将它指定为:
textField.inputView = pickerView;
但是我有UIPickerView
里面的PopOver
。那么如何使用UITextField
的inputView属性呢
还有更好的主意吗?..将.h文件中的对象作为:
id currentTextField;
在.m文件中实现此UITextField
Delegate
方法:
- (void)textFieldDidBeginEditing:(UITextField *)textField {
currentTextField = textField;
}
- 不要忘记为文件中的所有
UITextFields
设置txtField.delegate=self
现在,当您收到点击您的pickerView
按钮时,首先在该按钮的click方法上添加一条语句:
[currentTextField resignFirstResponder];
祝你一切顺利 我想您不能直接这样做(如inputView
)。您可以尝试以下简单方法:
1) 将UITextField
替换为UIButton
,并将其连接到某个选择器(buttonClicked
:)。您可以使用UIButtonTypeCustom
设置样式,使其看起来像文本字段(设置图层的颜色、边框宽度、拐角半径等)
2) 在这个方法中,-(void)按钮点击:(id)sender
-切换您将用作替换的UITextField
的输入视图的相同UIPickerView
。您可以在普通实例中创建变量,只需记住设置委托和数据源。将其附加到根视图(您的UIViewController
show in popoover)或甚至UIWindow
上,并根据是否已显示它来设置动画(切换)
3) 更新按钮文本(通过使用UIPickerViewDeleteGate
方法:`pickerView:didSelect…atIndex:-您还可以在此处隐藏选择器
希望这会有所帮助。只有两种方法可以做到这一点:辞职第一响应者或由其他控件成为第一响应者。你还能找到什么方法呢?只要检查一下我在问题中的更新。好的,谢谢你的努力。因为这里没有很多好的答案,我接受你的答案。