TableViewCell更新错误 - iOS,Swift

时间:2017-02-26 08:22:42

标签: ios swift uitableview datepicker

我有一个带有DatePicker的自定义单元格,当用户单击单元格时,单元格会扩展到显示日期选择器的完整视图(我附加了自定义单元格的图像)。我正在尝试根据日期选择器选择更新开始时间。

当我更改datepicker中的时间时: - 这是第一次正确更新日期 - 第二次回到它的原始值

有人可以建议,我该如何解决这个问题?

class DailyTimesTableViewCell: UITableViewCell {


    @IBOutlet weak var startTime: UIButton!
    @IBOutlet weak var datePicker: UIDatePicker!

    @IBAction func timePickerChanged(_ sender: UIDatePicker) {

        startTime.titleLabel?.text = convertDateToString(sender.date)

    }
   func convertDateToString(_ dateObject: Date) -> String{
        let dateFormatter           = DateFormatter()
        dateFormatter.timeStyle = .short
        let dateString = dateFormatter.string(from: dateObject)
        return dateString
    }
}

下面是显示错误的gif

error

以下是自定义单元格

customCell

1 个答案:

答案 0 :(得分:1)

您必须使用以下方法设置按钮的标题。

func setTitle(String?, for: UIControlState)

我通过替换行

来复制问题并解决

startTime.titleLabel?.text = convertDateToString(sender.date)

startTime.setTitle(convertDateToString(sender.date), for: .normal)

这是我经常犯的很多错误。