【问题标题】:UIDatePicker input field misalignsUIDatePicker 输入字段未对齐
【发布时间】: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


    【解决方案1】:

    我在继承 iOS 项目时遇到了类似的问题。我将选择器的类型更改为轮子,以返回 iOS 14 之前的选择器外观并与原始设计相匹配。

    picker.preferredDatePickerStyle = .wheels
    

    【讨论】:

      猜你喜欢
      • 2014-07-02
      • 2016-08-10
      • 2019-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多