为什么我的UITeViewView中的UITextView比它应该更短?如何使其尺寸合适?

时间:2015-04-26 23:57:06

标签: ios uitableview cocoa-touch uiview uitextview

示例项目: 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自动调整大小?

0 个答案:

没有答案