swift - 新的 UIDatePicker 作为 inputView
问题描述
在 iOS 13 及更早的版本中,我们可以使用 UIDatePicker 作为 inputView 但现在呢?
我尝试使用 ios14 并在点击文本字段时没有附加任何内容。
var timePicker = UIDatePicker()
self.timePicker.preferredDatePickerStyle = UIDatePickerStyle.wheels
self.timePicker.datePickerMode = UIDatePicker.Mode.time
self.timePicker.minuteInterval = 5
self.startTimeTxtField.inputView = self.timePicker
正常吗?
解决方案
显然,这是目前已知的问题。解决方法是sizeToFit
在将日期选择器分配为输入视图之前调用它。
迅速
let datePicker = UIDatePicker()
datePicker.datePickerMode = .time
datePicker.locale = .current
if #available(iOS 14, *) {
datePicker.preferredDatePickerStyle = .wheels
datePicker.sizeToFit()
}
textField.inputView = datePicker
Objective-C
if (@available(iOS 14.0, *)) {
[datePicker setPreferredDatePickerStyle:UIDatePickerStyleWheels];
[datePicker setDatePickerMode:UIDatePickerModeDate]; //optional
[datePicker sizeToFit];
}
请参阅此处以获取来自苹果论坛的答案。
推荐阅读
- app-store-connect - 应用商店连接 API 按钮的“请求访问”按钮为灰色/禁用
- html - CSS 网格 - 创建一个包含各种宽度卡片的响应式通用仪表板
- f# - 在 F# 中使用函数内部的对象 byRef(特别是 Playwright)
- wordpress - Wordpress 从 get_the_content 中删除 [ ]
- c# - 如何检索浏览器发送的 cookie?
- python - 我可以用 Python 构建 http 服务器吗?
- node.js - “sudo npm install -g create-react-app”命令不起作用
- javascript - 在 window.location.reload() 之前执行 href;
- apache-kafka - Zookeeper 中过时的代理
- angular - Angular 11 - 登录后显示用户电子邮件