我试图创建一个UITableView
与标题视图使用自动布局使用故事板。它在Xcode中看起来很好,但是当我运行该应用程序时,它看起来不一样。UITableView tableHeaderView使用自动布局高度太小
在Xcode中:
在应用程式:
图像具有150×150的约束,并有顶部图像,图像中的标签,中间之间8-高约束描述标签和描述标签底部。
两个标签都有numberOfRows
设为0
和lineBreakMode
设为ByWordWrapping
。
我已经通过尝试设置的画面:
if let headerView = self.tableView.tableHeaderView {
headerView.setNeedsLayout()
headerView.layoutIfNeeded()
let height = headerView.systemLayoutSizeFittingSize(UILayoutFittingCompressedSize).height
println("Setting height to \(height)")
var headerFrame = headerView.frame
headerFrame.size.height = height
headerView.frame = headerFrame
self.tableView.tableHeaderView = headerView
}
一个原始的问题是,我有一些错误的约束(由于某种原因Xcode中才开始抱怨今天),所以我已删除的和在应用程序名称标签上设置一个contentHuggingPriority
的252
(高于所有其他)。当我在故事板中手动调整标题视图的大小时,图像和应用程序名称标签保持相同的高度,并且说明标签也在增长。看起来这些应用程序在运行时使用了故事板中标题的大小,并没有从其子节点获取高度。
您是否尝试以编程方式设置tableHeaderView的框架属性? – carlodurso 2014-11-05 23:28:13
我用一些代码更新了我的问题,我尝试过最初没有包含 – 2014-11-06 20:11:54