我在UIStackViews
中使用嵌套UITableViewCell
。但是,当我滚动时它很慢并且会极大地影响性能。有没有办法可以提高UIStackViews
中嵌套UITableViewCell
的效果?
这是我将我的堆栈添加到UITableViewCell
:
let verticalStack = UIStackView()
verticalStack.axis = .Vertical
for i in 0..<json["Rows"].arrayValue.count{
let horizontalStack = UIStackView()
horizontalStack.axis = .Horizontal
for j in 0..<json["Rows"][i]["Column"].arrayValue.count{
let label = UILabel()
label.text = "Test"
horizontalStack.addArrangedSubview(label)
}
verticalStack.addArrangedSubview(horizontalStack)
}
cell.addSubview(verticalStack)
答案 0 :(得分:3)
问题是,您在出队时分配了多个UILabel。因此,每次滚动时,都会创建新标签。
通常,您不应该在cellForRowAtIndexPath
中执行具有高性能(如分配)的操作。
更好的方法是创建一次所有标签并重复使用它们。
如果您有一个静态数量的标签,您可以直接将它们作为排列的子视图添加到XIB文件中(或最初在单元类中),这样它们就可以重复使用。