动态表高度根据表中的单元格数量

时间:2012-08-16 05:41:31

标签: ios xcode uitableview

我正在开发应用程序,将数据放在UILable中,这些数据是从Json解析的,并且有详细信息,应该在表中。我正在使用Xcode 4.4.1,并针对iOS 4.3及更高版本。   如果在运行时更改单元高度,则表高度已根据高度变化而变化。我的问题是,现在我如何能够根据该表中存在的单元格数更改表高度,以便用户不必在表中单独滚动。

2 个答案:

答案 0 :(得分:0)

试试这个,

TableView.frame=CGRectMake(10, 10, 200 ,MIN(40 * [YourArray count], 600));

假设40是您的单元格的高度,并且您的tableview的最小高度为600

答案 1 :(得分:0)

如果所有细胞具有相同的高度,Krunal溶液将正常工作。但是,如果您具有动态单元格高度,则必须执行以下步骤:

1-从故事板中设置表格的高度约束。

2-从故事板中拖出高度约束,并在viewController文件中为它创建@IBOutlet。

    @IBOutlet weak var tableViewHeightConstraint: NSLayoutConstraint!

3-然后,您可以使用以下代码动态更改表的高度:

override func viewWillLayoutSubviews() {
    dispatch_async(dispatch_get_main_queue(), { () -> Void in
        super.updateViewConstraints()
        self.tableViewHeightConstraint?.constant = self.tableView.contentSize.height
    })
}