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:-您还可以在此处隐藏选择器


希望这会有所帮助。

只有两种方法可以做到这一点:辞职第一响应者或由其他控件成为第一响应者。你还能找到什么方法呢?只要检查一下我在问题中的更新。好的,谢谢你的努力。因为这里没有很多好的答案,我接受你的答案。