我有一个带有 DatePicker 的自定义单元格,当用户单击该单元格时,该单元格会扩展到显示日期选择器的完整 View (我附上了自定义单元格的图像)。我正在尝试根据日期选择器选择更新开始时间。
当我在日期选择器中更改时间时: - 第一次正确更新日期 - 第二次回到原来的值
有人可以建议我如何解决这个问题吗?
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
}
}
下面是显示错误的动图
下面是自定义单元格
最佳答案
您必须使用以下方法设置按钮的标题。
func setTitle(String?, for: UIControlState)
我复制了问题并通过替换行解决了
startTime.titleLabel?.text = convertDateToString(sender.date)
与
startTime.setTitle(convertDateToString(sender.date), for: .normal)
这是我多次犯的一个非常常见的错误。
关于ios - TableViewCell 更新不正确 - iOS,Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42466292/