在我的表格 View 中,每个单元格都不同,并由服务器的 JSON 响应确定。并且将会有无限的可能性。因此,为每种类型的单元定义原型(prototype)是不可能的。
例如,一个单元格将具有标签和按钮,另一个单元格将具有不同顺序的图像和按钮。
如何在表格 View 单元格中实现这种动态结构?
目前我正在做的是:在 cellForRowAtIndexPath 中添加 View 作为 subview ,但这种方式滚动非常滞后。
如何在不影响性能的情况下实现这一目标
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("cell") as! MyCell
for myview in data[indexPath.row].myviews{
cell.addSubview(myview)
}
return cell
}
最佳答案
如果您使用表格 View ,那么您的内容将垂直滚动,对吧?
可以水平放置的 UI 数量存在物理限制。受屏幕尺寸限制。
所以我猜你的 UI 部分是在单元格中垂直布局的?
因此,不要在单元格中垂直布局按钮、标签、图像、另一个按钮和文本字段......
创建名为 ButtonCell、LabelCell、ImageCell、MultiLineLabelCell、TextFieldCell 等的单元格类型...
所以现在,不要创建一个单元格并添加所有这些元素。您可以创建多个单元格,每个单元格包含一种类型的 UI。现在,您可以按任何特定顺序(由 JSON 驱动)使单元格出队,并且不会损失性能。
关于ios - 如何在不使用原型(prototype)单元的情况下创建表格 View 单元?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47034401/