ios - 动态更改所有 Uitableviewcells 高度以快速填充 uitableview

标签 ios swift uitableview

关于我在 swift 中构建的 ios 应用程序,我已经遇到了很长一段时间的问题。我有一个 Uitableview ,具有动态属性,嵌入在我的 View Controller 中。我想要做的是调整所有单元格的大小以填充表格 View 。我试过:

func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
    tableView.reloadData()
    let height = tableView.contentSize.height
    return height
}

但这只是为 uitableview 的高度返回零。

帮助将不胜感激。

最佳答案

您不想从此委托(delegate)方法调用 reloadData(),因为正在调用此方法是因为正在重新加载数据。

事实上,如果您的所有单元格都将具有相同的高度,您根本不想使用此方法。只需设置 TableView 的 rowHeight 属性即可。

假设这是从 View Controller 发生的,我将覆盖 viewDidLayoutSubviews() 以在 TableView 大小更改时得到通知并在那里设置行高:

override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()
    tableView.rowHeight = tableView.bounds.height
}

您可能需要也可能不需要在那里添加 reloadData() 来更新 TableView 。先试试没有它。设置行高可能会自动触发重新加载。

另请注意,我没有使用 contentSize 来获取高度。这是所有单元格的高度,它由您设置的行高决定。因此,再次使用它会有点循环。

关于ios - 动态更改所有 Uitableviewcells 高度以快速填充 uitableview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35210454/

相关文章:

iphone - 在现有的 Xcode Storyboard上使用 pkrevealcontroller

ios - 如何打开文件并在其中附加一个字符串,swift

ios - 如何计算UITableView中标题的正确高度

ios - 隐藏View的Navigation Bar push View是OK.but pop 可以看到黑条

ios - 使用无声通知更新屏幕

ios - 是否可以在 UITableView 中混合使用静态和动态原型(prototype)单元格?

iphone - 滑动删除不起作用

uitableview - swift iOS 中的 TableView 问题

ios - (iOS) 拖放、对齐网格、勾选合适区域

swift - 如何在 Swift 中将十进制数转换为二进制数?