【发布时间】:2021-03-18 20:53:39
【问题描述】:
我继承了一个用 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)
^ 上面的代码 sn-p 稍微混淆了一点,但显示了基本逻辑。
这是输入视图的结果:
我尝试通过设置自动布局约束来手动对齐输入视图:
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)
但是,这只会导致程序崩溃。
我应该怎么做才能使输入视图在屏幕上正确对齐?
【问题讨论】:
标签: ios swift cocoa-touch