繁体   English   中英

UITextField-在键盘和UIPickerView之间切换

[英]UITextField - Switch Between Keyboard and UIPickerView

我正在使用Core Data的iPhone应用程序上工作。 视图控制器之一允许用户编辑有关咖啡的信息,它具有UITextField,用户可以在其中输入一个描述性的“标签”以表示咖啡的类型。

我想设置UITextField以在用户单击UITextField的主区域(以输入新标签)时显示键盘,并使用按钮作为rightView来显示UIPickerView,以允许用户选择从已经输入的已知标签列表中,即:

---------------------------------------------
|This area should display keyboard | button |
---------------------------------------------

我感到困惑的是如何在firstResponder键盘和UIPickerView之间来回切换,如果用户来回单击则又来回切换。

肯定有人在那里完成了此操作,因此任何有关如何进行设置的提示(或者如果我正确使用了iPhone的UI元素)都将很棒! 谢谢!

您可以使用2个引用来跟踪活动文本字段和选择器,例如:

UITextField *activeField;
UIPickerView *activePicker;

每当文本字段开始编辑时,就将分配activeField指向它。 采摘者也一样。 我还要假设您已经有关于此特殊文本字段的参考。

现在,在文本字段和选择器视图的事件处理程序中,您可以控制在文本字段开始/结束编辑以及选择器视图出现/消失时发生的情况。 如果您还有其他文本字段,则需要通过将事件与我们的activeField进行比较来检查事件是否由特殊文本字段触发。

我需要提醒您的是,在“联系人”应用程序中,标记方案的实现方式有所不同。 这是标准方式,对您来说也更容易。

这是有关如何自定义键盘的文章 请记住,您不能直接声明自己的UIKeyboard实例,也不能对其进行子类化,因此,您唯一的希望就是找到键盘视图,并从那里进行修改。

对于键盘,您要注意委托回调中的成为firstResponder / resignFirstResponder。 无论您的隐喻是完成还是完成,您都应该辞职。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM