日期选择器在文本框输入时显得压缩。

19

我有一个使用UIDatePicker作为输入的UITextField。我将日期选择器的样式设置为.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)
    }
}

这是一个错误吗?我有什么遗漏的吗?


1
看起来像是一个 bug。为什么不直接使用.compact 样式并完全删除文本字段呢? - Sweeper
或者直接使用轮子风格。 - matt
2
我也遇到了同样的问题,而且我使用的是iOS 14 GM版本。如果这是一个bug,那么到现在还没有修复就令人担忧... - jwuki
2
@Insleep,我刚刚改成了“.compact”格式。也许这不是它的预期使用方式。我预计会有更多人遇到同样的问题。 - Luci Aghergheloaei
使用此链接:https://stackoverflow.com/a/64160213/7300477 - Vijay Patidar
1个回答

21

试试这个:

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

1
但是如何支持旧版本? - Shunan
这是个大问题。以上解决方案在 Xcode 11.6 以下版本无法编译。 - toni_piu
@Shubh 这就是 #available 的作用。 - fishinear

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接