【发布时间】:2016-08-03 12:02:47
【问题描述】:
我在我的UITableViewCell 中使用嵌套的UIStackViews。但是,当我滚动时它非常慢并且极大地影响了性能。有什么方法可以提高UITableViewCell 中嵌套UIStackViews 的性能?
这就是我将堆栈添加到我的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)
【问题讨论】:
-
你是如何创建单元格的?尝试异步填充单元格
-
异步填充单元格?它是如何工作的?
-
您可以考虑“分析应用程序”。按住 Xcode 中的运行按钮以启动分析器。选择时间分析器,然后记录应用程序,看看哪些代码行很慢。
-
堆栈视图只计算其排列的子视图的布局约束,因此它们本身不应该影响性能。另一方面,如果您非常频繁地运行上面的代码,您可能会因此而变慢。这段代码什么时候执行?多久一次?
标签: ios swift uitableview uistackview