损坏的内联 datePicker 作为 TextField Swift iOS 14 的 InputView
Posted
技术标签:
【中文标题】损坏的内联 datePicker 作为 TextField Swift iOS 14 的 InputView【英文标题】:Broken inline datePicker as InputView for TextField Swift iOS 14 【发布时间】: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。 我明白了。谢谢;) 【参考方案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 在放大时会被裁剪。
【讨论】:
以上是关于损坏的内联 datePicker 作为 TextField Swift iOS 14 的 InputView的主要内容,如果未能解决你的问题,请参考以下文章
jQueryUI 内联 DatePicker 直到我更改月份后才起作用