gpt4 book ai didi

ios - UIDatePicker 将最后选择的日期返回到 TableViewCell

转载 作者:行者123 更新时间:2023-11-30 14:09:15 25 4
gpt4 key购买 nike

我正在尝试从此 UIDatePicker Controller 获取日期并更新表格单元格。

但是日期选择器返回之前选择的日期,而不是我刚刚选择的日期。假设我从 8 月 13 日更改为 8 月 15 日,TableCell 中的标签就会更新为 8 月 13 日。并且我们第一次更改时它不会更新。这很奇怪,因为无论我在哪里阅读,它都会按其应有的方式工作。

@IBAction func dateChanged(sender: AnyObject) {

if let indexPath = NSIndexPath(forRow: 1, inSection: 0) {

self.tableView.beginUpdates()
self.tableView.reloadRowsAtIndexPaths([indexPath], withRowAnimation: UITableViewRowAnimation.Right)

var cell = self.tableView.cellForRowAtIndexPath(indexPath)
let date = (sender as? UIDatePicker)!.date
(cell?.viewWithTag(101) as? UILabel)?.text = WLDateFormatter.sharedInstance.todayDateString(date)


self.tableView.endUpdates()
}
}

此 IBAction 已连接到 Storyboard 中的 UIControlEventValueChanged。我想上传屏幕截图,但某些办公网络不允许我上传。

对于要求cellForRowAtIndexPath的人

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell: UITableViewCell?

.
.
.

(cell?.viewWithTag(101) as? UILabel)?.text = WLDateFormatter.sharedInstance.todayDateString(date)


//Force separator width
cell?.layoutMargins = UIEdgeInsetsZero
cell?.preservesSuperviewLayoutMargins = false
return cell!
}

最佳答案

已修复。 :-)基本上,如果我开始更新表,一切正常。我认为刷新单元格在获取值之前就已经开始了,当时它没有得到更新。

@IBAction func dateChanged(sender: AnyObject) {

if let indexPath = NSIndexPath(forRow: 1, inSection: 0) {

var cell = self.tableView.cellForRowAtIndexPath(indexPath)
let date = (sender as? UIDatePicker)!.date
(cell?.viewWithTag(101) as? UILabel)?.text = WLDateFormatter.sharedInstance.todayDateString(date)

}
}

关于ios - UIDatePicker 将最后选择的日期返回到 TableViewCell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31944219/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com