xcode UIDatePicker作为ExtextField.inputView未正确显示

lymnna71  于 2023-11-21  发布在  其他
关注(0)|答案(1)|浏览(107)

我有一个textField,它的inputViewUIDatePicker
UIDatePicker设置为UITextField.inputView时,使用.inline仍然可以正常工作,但主要问题是由于某种原因UIKit将键盘高度硬限制为某些(似乎)计算值
由于UI是使用全宽布局的,这会将选择器的标题视图推到类似6pt的位置,从而使其无法使用,因为您无法轻松地点击以更改月/年。
这里你可以看到
x1c 0d1x的数据
要解决这个问题,你可以设置:

datePicker.preferredDatePickerStyle = .wheels

字符串



你知道是否有一种方法仍然可以使用.inline和仍然可以使用UIDatePicker()

j8ag8udp

j8ag8udp1#

我一直在处理同样的问题,最近找到了答案:基本上,UIDatePicker().inline风格并不是UITextField()inputView风格。你看到的显示行为实际上是正确的,因为.inline风格的行为符合Apple的预期。
这种样式要求您也使用UIDatePicker(),而不是UITextField(),将当前日期值作为UI的一部分内联显示。因此,当您将其作为inputView调用时,输入视图实际上显示的是当前值。这并不是说选择器以某种方式被压扁或强制关闭屏幕。当您点击该值时,(如果你的手指足够小,哈哈),它将显示日历选择器,日历选择器将按照你所期望的那样工作。
我在我的答案here中详细说明了这一点。我认为如果你想要日历选择器,你将不得不使用UIDatePicker()来显示值,而不是UITextField()。否则你会被.wheels卡住。

相关问题