带有 DatePicker 的 UITextField 崩溃 [英] UITextField with DatePicker crashes

查看:26
本文介绍了带有 DatePicker 的 UITextField 崩溃的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是 iOS/Swift 新手,请耐心等待.

I am new to iOS/Swift so please bear with me.

我有一个 TextField、timeTextField,并且想在点击时显示一个 TimePicker.所有这些都是工作性质,但选择另一个元素时,应用程序崩溃为什么它会崩溃?更新 1:更新代码代码:

I have a TextField, timeTextField, and want to display a TimePicker on click. All this is working property but when another element is selected the app crashes why does it crash? UPDATE 1: updated code code:

func setupTimePicker(){
    datePickerView.datePickerMode = UIDatePickerMode.time
    datePickerView.removeFromSuperview()
    timeTextField.inputView = datePickerView
    datePickerView.addTarget(self, action: #selector(self.datePickerValueChanged(sender:)), for: .valueChanged)
}

func datePickerValueChanged(sender:UIDatePicker) {
    var date = Date()
    let calendar = Calendar.current

    date = sender.date;

    let hour = calendar.component(.hour, from: date)
    let minutes = calendar.component(.minute, from: date)

    timeTextField.text = String(format: "%02d", hour) + ":" + String(format: "%02d", minutes)
}

错误:

[TestApp.ViewController pickTime:]: 无法识别的选择器发送到实例 0x7f9305e08e20

[TestApp.ViewController pickTime:]: unrecognized selector sent to instance 0x7f9305e08e20

推荐答案

iOS8/iOS9 起,当您将视图作为 inputView 添加到 UITextField 应用程序崩溃.要解决您的崩溃,在将 datePicker 作为 inputView 添加到 UITextField 之前调用 [removeFromSuperView].这将解决崩溃问题.

Since iOS8/iOS9, when you added a view as inputView to UITextField app crashes. To resolve your crash, before adding datePicker as inputView to UITextField call [<pickerView> removeFromSuperView]. This will solve crash issue.

这篇关于带有 DatePicker 的 UITextField 崩溃的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆