ios - TableViewCell 更新不正确 - iOS,Swift

标签 ios swift uitableview datepicker

我有一个带有 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
    }
}

下面是显示错误的动图

error

下面是自定义单元格

customCell

最佳答案

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

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/

相关文章:

ios - UIImagePickerControllerDelegate didFinishPickingMediaWithInfo 未调用

ios - 同步 AVAudioPlayerNode 并开始录制 AVAudioEngine

ios - 是否可以遍历 View 中的对象?

ios - 如何修复 "' NSInvalidArgumentException',原因: '-[__NSCFNumber caseInsensitiveCompare:]: unrecognised selector sent to instance"?

iphone - UItableViewCell 中的 uibutton 问题

ios - 如何仅为 ios objective-c 中的特定单元格更改自定义表格 View 单元格的框架?

android - 使用react-navigation在屏幕之间导航

ios - 向 nsdictionary 添加各种对象和键

未初始化实例变量的ios swift init

ios - 自定义表格 View 单元格多行