繁体   English   中英

如何在单击特定表格视图单元格中的文本字段时显示 UIPicker swift?

[英]How to show a UIPicker on click of a text field in a particular table view cell swift?

我有一个带有自定义原型单元格的表视图控制器。原型单元格的左侧有一个文本字段(标题),右侧有另一个文本字段()。

这个表格视图显示了一个人的各种详细信息,左边是标题,右边是。用户可以在这个页面上编辑 3 个字段,如保单持有人、姓名和电话号码。这个表格视图有大约 15 行。

当用户想要编辑 Policy Holder 并且当他单击 Policy Holder 右侧的文本字段时,我想显示一个带有两个选项(如 Self & Other)的 UIPikcer。 一旦用户选择了其中的任何一项,就必须将其输入到文本字段中。

如果用户想要编辑电话号码字段,我希望用户只输入特定格式,如 +x (xxx) xxx-xxxx。

我怎么能做这些事情。

我的 Table View UI 看起来像这样

您有两个选项可以实现这一点,1) 您可以将按钮和文本字段放在同一个单元格上,并相应地使用隐藏/显示功能。 2)在以下文本字段方法的另一个选项中

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField;

添加这个

textField.inputView = _pickerView;

你好吗?

所以你需要在UITextField单击上显示一个UIPicker ,好吗?

第一步是实现UITextField委托和标记标识符以准确捕获您需要的内容

像这样的东西:

class YourViewController: UIViewController, UITextFieldDelegate {
.
.
.
self.textField.delegate = self
self.textField.tag = indexPath.row

PS*:也许你应该在你的 cellForRow 上的 indexPath(或类似的)上设置委托和标签

在此之后,实现此方法:

func textFieldDidBeginEditing(_ textField: UITextField) {
// do this, not recommended
if textField.tag == xx {
   self.textField.inputView = yourPicker
   }
// the correct way is catch your cell indexPath at this point
}

我真的希望对你有帮助,快乐代码 =D

暂无
暂无

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

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