我继承了一个用Swift 4.2编写的iOS项目,它使用UIDatePicker
作为文本字段的输入视图:
let datePicker = UIDatePicker()
datePicker.maximumDate = Date()
datePicker.datePickerMode = .date
datePicker.date = self.someDate
someTextField.inputView = datePicker
datePicker.addTarget(self, action: #selector(handleDatePicker(sender:)), for: .valueChanged)
^上面的代码片段有点模糊,但显示了基本的逻辑。
这是输入视图的结果:
我尝试通过设置自动布局约束来手动对齐输入视图:
let datePicker = UIDatePicker()
datePicker.maximumDate = Date()
datePicker.datePickerMode = .date
datePicker.date = self.someDate
datePicker.translatesAutoresizingMaskIntoConstraints = false
datePicker.bottomAnchor.constraint(equalTo: self.view.bottomAnchor).isActive = true
datePicker.leadingAnchor.constraint(equalTo: self.view.leadingAnchor).isActive = true
datePicker.widthAnchor.constraint(equalTo: self.view.widthAnchor).isActive = true
someTextField.inputView = datePicker
datePicker.addTarget(self, action: #selector(handleDatePicker(sender:)), for: .valueChanged)
然而,这只会导致程序崩溃。
我应该怎么做才能让输入视图在屏幕上正确对齐?
发布于 2021-01-17 14:29:49
我在继承iOS项目时遇到了类似的问题。我将拾取器的类型更改为轮子,以返回拾取器的iOS 14之前的外观,并与原始设计相适应。
picker.preferredDatePickerStyle = .wheels
https://stackoverflow.com/questions/65183610
复制相似问题