我有一个TableViewController
,其中包含2 ImageView
,有些UILabel
。我设置了这样的包含:
UILabel
,我想根据内容的长度显示所有内容,这意味着我需要TableViewCell
动态调整其高度。我用这段代码来实现这个功能:
override func viewDidLoad() {
super.viewDidLoad()
self.tableView.estimatedRowHeight = 70
self.tableView.rowHeight = UITableViewAutomaticDimension
}
有效。但是,当我滚动TableView
时,某些奇怪的事情发生了,屏幕闪烁,你无法滚动回到顶部,如下所示:
back
按钮。
我想这可能是AutoLayout
约束或estimatedRowHeight
错误,我只是根据我学到的教程将其设置为70
,我不知道知道如何正确设置这个值。
答案 0 :(得分:0)
您的UI设置看起来没问题。我认为datasource
应该存在另一个问题。在您的图像视图和标签中,您设置相应值的方式也会受到影响。例如,如果您从服务器获取数据,那么您应该缓存图像以便重复使用,因为tableview deque
单元格。
如果要从服务器获取图像,则应缓存图像。要做到这一点,你可以使用优秀的图书馆SDWebImage。
因此请检查两次导致问题的原因。根据我的约束和UI的设置很好!