示例项目: http://cl.ly/3f1R3t26091F
我的UITextView
标题中有UITableView
,文本视图包含可变长度的内容,我希望表格视图标题的大小正确,以显示所有内容文本视图中的内容。
然而,它没有。我正在关注如何使用自动布局自动设置UITableView标头的高度this question,它基本上归结为计算视图的高度,然后再次将其重置为标题。
所以在viewDidLayoutSubviews
之后,我确定所有内容都已设置完毕,我这样做:
override func viewWillLayoutSubviews() {
super.viewDidLayoutSubviews()
if !viewsSetUp {
let numberOfWords = Int(arc4random_uniform(200))
println("Number of words to generate: \(numberOfWords)")
var text = "cat"
for (var i = 0; i < numberOfWords; i++) {
text += " cat"
}
text += "Should be able to see this: THE END"
textView.text = text
updateTableViewHeader()
viewsSetUp = true
}
}
在其中我调用updateTableViewHeader来确定高度:
func updateTableViewHeader() {
tableView.tableHeaderView = informationView
informationView.setNeedsLayout()
informationView.layoutIfNeeded()
let informationViewHeight = informationView.systemLayoutSizeFittingSize(UILayoutFittingCompressedSize).height
var newInformationViewFrame = informationView.frame
newInformationViewFrame.size.height = informationViewHeight
informationView.frame = newInformationViewFrame
tableView.tableHeaderView = informationView
}
但是我的表格标题总是太短了。如何使用UITextView
自动调整大小?