tableViewController 上的自动大小视图
Posted
技术标签:
【中文标题】tableViewController 上的自动大小视图【英文标题】:Auto size view on tableViewController 【发布时间】:2016-10-19 09:42:21 【问题描述】:我的 tableViewController 顶部有一个视图。该视图名为 viewBackground
。 它在那里显示用户点击的帖子,表格单元格将显示 cmets。
我想要做的是根据标签theLabel
的大小调整viewBackground
的大小。 我在单元格中通过将单元格中的标签设置为0 行并实现了这个小代码:
tableView.rowHeight = UITableViewAutomaticDimension
tableView.estimatedRowHeight = 205
我该如何处理我的viewBackground
?
这是tableView的图片:
【问题讨论】:
显示你的tableview屏幕UI @HimanshuMoradiya 已添加。 我听不懂你的问题。请澄清一下你真正想要什么 【参考方案1】:您可以创建包含两个部分的表格视图。第一部分将包含选定的帖子;第二部分- cmets。如果你需要,我可以提供一些代码。
【讨论】:
【参考方案2】:添加了这段代码,它有帮助!
override func viewDidLayoutSubviews()
super.viewDidLayoutSubviews()
if let headerView = tableView.tableHeaderView
let height = headerView.systemLayoutSizeFittingSize(UILayoutFittingCompressedSize).height
var headerFrame = headerView.frame
//Comparison necessary to avoid infinite loop
if height != headerFrame.size.height
headerFrame.size.height = height
headerView.frame = headerFrame
tableView.tableHeaderView = headerView
【讨论】:
【参考方案3】:我建议为您当前的 tableView 创建一个标题 - 而不是在其上方添加一个外部视图 - 然后您可以按照此 answer 进行操作,它应该可以帮助您了解如何计算标签的字符串高度并返回它在tableView(_:heightForRowAt:) 方法中。
希望这会有所帮助。
【讨论】:
我想通过添加视图来制作标题? 是的,通过向 tableView 添加一个新单元格并实现viewForHeaderInSection 方法来简化它。请检查答案中的url,它应该可以帮助您计算标签的高度,但不是referenceSizeForHeaderInSection,它应该只是高度(heightForHeaderInsSection) 无论如何,如果您完全不明白,请确保使用viewForHeaderInSection 适合您的情况并发表评论,我很乐意提供帮助:)以上是关于tableViewController 上的自动大小视图的主要内容,如果未能解决你的问题,请参考以下文章
不能只用 tableViewController 获得大标题
使用 tableviewcontroller 时导航栏上的模糊效果
UITableViewControllers 上的 prepareforSegue 方法