【发布时间】:2017-01-31 15:28:45
【问题描述】:
当我像这样更新 UITableViewCell 中的 UILabel 文本时:
self.label.text = "label text"
一切都很好......
但是当我从 Struct Array 更新我的标签文本时,它会导致 UITableView 有时会在向上滚动到顶部时跳跃,而不是在向下滚动时,而是当我向上滚动...
不明白为什么会这样......
结构,正在从我从服务器获得的结果中添加数据
struct ContentStruct {
var textLink : String? = ""
var title : String? = ""
var text : String? = ""
}
CellForRow
let postData = cellContentArray[(indexPath as NSIndexPath).section]
cell.binData(content: postData)
TableViewCell
func binData(content: ContentStruct) {
self.titleLabel.text = content.title
self.text.text = "yytytytyt"//text
self.uuidLabel.text = "yhhyhyhyyh"
}
我正在调整单元格的大小,如下所示: 在 ViewDidLoad 中:
tableView.rowHeight = UITableViewAutomaticDimension
然后是这个:
func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {
let height = self.heightAtIndexPath.object(forKey: indexPath)
if ((height) != nil) {
return CGFloat(height as! CGFloat)
} else {
return UITableViewAutomaticDimension
}
}
func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
let height = cell.frame.size.height
self.heightAtIndexPath.setObject(height, forKey: indexPath as NSCopying)
}
有什么想法吗?
提前致谢!
【问题讨论】:
-
添加数据源代码
-
@WetSweater 不知道你的意思是什么?表视图代码?还是结构代码?我正在从我之前从服务器下载的结果中将数据添加到结构中......然后我正在正常更新 tableViewCell......这很奇怪,因为它只发生在底部的第三/第四个单元格上,而不发生在任何其他单元格上。 . 这是一个小闪光,我觉得很讨厌
-
cellForRow 方法的完整内容将有助于提供建议。你在某处重新加载 tableView 吗?
-
结构数组...?
-
添加您的 UITableViewDataSource 和有关单元格布局的信息。会有帮助的
标签: ios swift string uitableview uilabel