斯威夫特:如何使用" estimatedRowHeight" ?Dynamic Cell Height Stange错误

时间:2016-08-22 07:06:09

标签: ios swift uitableview autolayout

我有一个TableViewController,其中包含2 ImageView,有些UILabel。我设置了这样的包含: enter image description here

一切似乎都很好。对于最后UILabel,我想根据内容的长度显示所有内容,这意味着我需要TableViewCell动态调整其高度。我用这段代码来实现这个功能:

override func viewDidLoad() {
    super.viewDidLoad()

    self.tableView.estimatedRowHeight = 70
    self.tableView.rowHeight = UITableViewAutomaticDimension

}

有效。但是,当我滚动TableView时,某些奇怪的事情发生了,屏幕闪烁,你无法滚动回到顶部,如下所示: enter image description here

抱歉,我不知道如何正确显示此错误,它会闪烁,并且您无法滚动屏幕,只能选择back按钮。

我想这可能是AutoLayout约束或estimatedRowHeight错误,我只是根据我学到的教程将其设置为70,我不知道知道如何正确设置这个值。

1 个答案:

答案 0 :(得分:0)

您的UI设置看起来没问题。我认为datasource应该存在另一个问题。在您的图像视图和标签中,您设置相应值的方式也会受到影响。例如,如果您从服务器获取数据,那么您应该缓存图像以便重复使用,因为tableview deque单元格。

如果要从服务器获取图像,则应缓存图像。要做到这一点,你可以使用优秀的图书馆SDWebImage

因此请检查两次导致问题的原因。根据我的约束和UI的设置很好!