滥用 UITextField.inputView 来获取键盘的类似弹出行为



我经常想把自己的东西放在键盘弹出的同一个地方,但为了我自己的控件......比如把一个UIDatePicker放在那里,或者一个自定义的UIPickerView,或者其他什么。

我想出了一种笨拙的方式来获得这种行为,方法是拥有一个虚拟的 UITextField 并将我的自定义视图放在其 inputView 属性中。 然后,当用户单击我的项目时,我只需触发 UITextField 即可显示我分配给输入视图的视图。

然后我想知道是否有更好的方法来做到这一点。 我发现这篇文章像键盘一样显示UIPickerView,没有UITextField,有几个人推荐我做同样的事情。

我的问题是这个。 以这种方式(误用(使用 UITextField 是否常见?

很多时候,您将面临一个 UITextfield,您希望通过标准键盘以外的自定义控件填充该字段。因此,inputView 方法被声明并可以使用。

建议:

1-如果UI文本字段正常,请使用键栏(不要更改输入视图(

2-如果值为数字,则直接在键盘中显示数字键盘(textField.keyboardType = .numberPad(

3-如果您的textField是日期,则将输入视图设置为日期选择器。

4-有时你需要一个UITextField,你需要在东西之间进行选择。因此,您可以开发自己的自定义 UIPicker 并将其设置为输入视图。

5-如果您要实现的目标不属于上述所有内容,那么您可以自己输入视图并分配它。

所以总之不要害怕,这是正常的事情!

希望这有帮助!

最新更新