日期选择器看起来像文本字段的输入一样被压扁

Posted

技术标签:

【中文标题】日期选择器看起来像文本字段的输入一样被压扁【英文标题】:Date Picker looks squashed as input of a Text Field 【发布时间】:2020-12-19 13:51:51 【问题描述】:

我有一个UITextField,它使用UIDatePicker 作为输入。我将 Date Picker 的样式设置为.inline,但结果不是我所期望的

如您所见,日期选择器中的小时选择器看起来被压扁了。

这是我的代码:

class ViewController: UIViewController 

    override func viewDidLoad() 
        super.viewDidLoad()

        let datePicker = UIDatePicker()
        datePicker.preferredDatePickerStyle = .inline
        let textField = UITextField(frame: CGRect(origin: view.center,
                                                  size: CGSize(width: 60, height: 30)))
        textField.text = "TEST"
        textField.inputView = datePicker

        self.view.addSubview(textField)
    

这是一个错误吗?我错过了什么吗?

【问题讨论】:

看起来像一个错误。为什么不直接使用.compact 样式并完全删除文本字段? 或者只使用***样式。 遇到同样的问题,我使用的是 ios 14 GM。如果这是一个错误,那么它现在还没有修复令人担忧...... @Insleep 我刚刚更改为 .compact。也许这不是预期的使用方式。我希望更多的人会偶然发现同样的事情。 使用这个链接 ;-***.com/a/64160213/7300477 【参考方案1】:

试试这个:

if #available(iOS 13.4, *) 
   datePicker.preferredDatePickerStyle = .wheels

【讨论】:

但是如何支持旧版本? 这是个大问题。上面的解决方案不会为低于 11.6 的 Xcode 编译。 @Shubh 这就是#available 的用途。

以上是关于日期选择器看起来像文本字段的输入一样被压扁的主要内容,如果未能解决你的问题,请参考以下文章

jQuery UI 日期选择器范围

插入日期选择器后 Jquery 表单验证不起作用

带有日期选择器的 Android 微调器,例如 Google 日历应用

如何呈现材料 UI 输入控件而不是材料 UI 日期选择器的文本字段

日期选择器的 Android 日历视图

jquery 日历/日期选择器