2017-02-26 66 views
0

我有一個帶DatePicker的自定義單元格,當用戶單擊單元格時,單元格展開爲顯示日期選取器(我附加了自定義單元格的圖像)的完整視圖。我正在嘗試根據日期選擇器選擇更新開始時間。TableViewCell更新不正確 - iOS,Swift

當我更改日期選擇器的時候: - 首次就能夠正確更新日期 - 第二次回到它的原始值

可能有人請建議,我怎麼能解決這個問題?

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

+0

問題是在這裏 - convertDateToString(),共享,也 – Krunal

+0

你把你的代碼在你的自定義tableview單元類?如果細胞出院,你不會遇到麻煩嗎?如果你不重複使用視圖,爲什麼不在靜態tableview中創建它? –

+0

@KrunalBhavsar添加了convertDateToString()函數以及 – user44776

回答

1

必須設置按鈕的標題下面的方法。

func setTitle(String?, for: UIControlState)

我複製的問題,並通過替換線

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

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

這是一個非常常見的錯誤,我做很多次解決。

+0

當我用'setTitle'替換'titleLabel'方法時, – user44776