【发布时间】:2023-04-04 23:36:01
【问题描述】:
我在UITableView 中设置了多个水平滚动的UICollectionView(s),所以我可以垂直滚动。
我遇到的一个问题是,表格视图的行高在我知道它们应该有多高之前被调用(我希望每个 UICollectionView 的整个高度都填充表格视图单元格)。
我该如何解决这个问题?
【问题讨论】:
标签: uitableview ios8 uicollectionview
我在UITableView 中设置了多个水平滚动的UICollectionView(s),所以我可以垂直滚动。
我遇到的一个问题是,表格视图的行高在我知道它们应该有多高之前被调用(我希望每个 UICollectionView 的整个高度都填充表格视图单元格)。
我该如何解决这个问题?
【问题讨论】:
标签: uitableview ios8 uicollectionview
我的建议是为集合视图创建自定义布局。然后它可以计算单元格大小并在集合视图调整大小时得到通知。
【讨论】:
使用此函数,您可以确定您拥有的collectionView 的高度。
在aCollectionView.collectionViewLayout 属性上调用collectionViewContentSize 并以CGSize 的形式获取内容的高度和宽度。
或
-(CGFloat)collectionViewHeight
{
[collectionView layoutIfNeeded];
return [collectionView contentSize].height;
}
【讨论】:
为您的身高创建一个变量,并在您的heightForRowAtIndexPath 方法中返回该变量。一旦你弄清楚你的身高,然后重新加载你的 tableView。
var height: CGFloat = 44
func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
return height
}
func something() {
height = 1234//Or whatever your height should be
self.table.reloadData()
}
【讨论】: