【问题标题】:Broken inline datePicker as InputView for TextField Swift iOS 14损坏的内联 datePicker 作为 TextField Swift iOS 14 的 InputView
【发布时间】:2021-07-18 10:14:14
【问题描述】:

我使用 iOS 13.4 提供的新内联日期选择器作为文本字段的 inputView(在我使用轮子之前)。但是,由于 inputView 的高度是恒定的,它看起来很糟糕:How it looks

我已尝试更改框架并禁用 AutoResizingMaskIntoConstraints。它没有帮助。它应该工作的方式就像一个默认的内联 datePicker。 How dataPicker should look like

综上所述,我需要为 UITextField 增加自定义 InputView 的高度。

【问题讨论】:

  • “它看起来坏了”是因为“inputView 的高度是恒定的”吗?如果是这样,您的问题是:如何更改 inputView 的高度?
  • 感谢您的评论。不好意思,忘记总结了。是的,主要关心的是如何为 UITextField 增加自定义 InputView 的高度。谢谢!
  • 编辑您的问题以“总结”可能会有所帮助。有时可能会回答您的问题的人不会阅读 cmets。
  • 我明白了。谢谢;)

标签: swift datepicker inline ios14


【解决方案1】:

我猜它受限于 inputView 的默认高度。 只需更改它的大小即可。

// You can change value as you want. I think same with screen width is better for me. 
let scrWidth = UIScreen.main.bounds.width
textfield.inputView?.frame.size = CGSize(width: scrWidth, height: scrWidth)
// Changing CGRect also can work
textfieldinputView?.frame = CGRect(x: 0, y: 0, width: scrWidth , height: scrWidth)

Result like this

有趣的是,我在SE1上测试时,没有使用上述方法,显示正常,inputView大小为320*353.3

inputView on SE1

但其他设备的高度大于它会限制在某个值(IDK是什么参考。)

这里的限制是 355.666667,大小是 414*355.6667

inputView on 11 Pro Max

这就是为什么我猜 dataPicker 在放大时会被裁剪。

【讨论】:

    猜你喜欢
    • 2023-03-11
    • 1970-01-01
    • 2021-01-11
    • 1970-01-01
    • 2021-01-04
    • 2017-01-09
    • 1970-01-01
    • 2016-10-26
    • 1970-01-01
    相关资源
    最近更新 更多