【发布时间】:2023-04-01 09:06:01
【问题描述】:
我正在创建一个UITextField,它有一个UIDatePicker 作为输入。我不想编辑文本字段(复制、粘贴、剪切和选择文本),但我只想在用户触摸UITextField 时显示UIDatePicker,并且所选日期将显示在UITextField 上。
我尝试使用isUserInteractionEnabled = false 禁用编辑,但是当我触摸它时,TextField 没有给我响应。
我应该怎么做才能在 Swift 3 中实现它?
【问题讨论】:
-
在TextField的委托中实现
textFieldShouldBeginEditing(),在那里你可以调用UIDatePicker并返回false -
假设您在同一个视图中有其他文本字段,那么您可以使用 Tag 属性来识别已选择的文本字段,并对所有其他文本字段返回 true
-
将
UITextField替换为UIButton会解决您的问题吗?用户点击您的按钮,您显示日期选择器,然后一旦用户决定日期,您隐藏日期选择器。您可以设置UIButton的样式,使其看起来像UITextField。
标签: ios swift uitextfield uidatepicker