iOS UITableView 自定义 RowHeightt

iOS UITableView Custom RowHeightt

我在 Xcode 7 上使用 Swift 2 我有一个带有 containerView 的 ViewController。 containerView 调用一个 childViewController,它有一个 tableView。在 tableView 中,我放置了一个行高为 60 pts 的自定义 tableViewCell。

问题:在运行模式下:当tableView在容器中显示为parentcontroller的一部分时——行高不会保持60pts。它变成了任意高度。这个新的任意高度与容器的大小无关。即使我使容器变小/变大,新的高度仍然存在。我想让它成为我在孩子中指定的自定义高度ViewController

下面是我添加子项ViewController和设置自动布局

的代码
 func addController(controller: UIViewController)
{
    addChildViewController(controller)
    containerView.addSubview(controller.view)
    controller.view.translatesAutoresizingMaskIntoConstraints = false

    //Layouting within view controller
    var constraints = NSLayoutConstraint.constraintsWithVisualFormat("H:|[view]|", options: NSLayoutFormatOptions(rawValue: 0), metrics: nil, views: ["view" : controller.view])
    constraints += NSLayoutConstraint.constraintsWithVisualFormat("V:|[view]|", options: NSLayoutFormatOptions(rawValue: 0), metrics: nil, views: ["view" : controller.view])
    NSLayoutConstraint.activateConstraints(constraints)
    didMoveToParentViewController(controller)
    currentController = controller
}

1.) 您使用的是自定义单元格 .xib 吗?如果是,请确保在 .xib 文件

中设置了它的高度 属性

2.) 在故事板文件中,检查当您单击 TableView 的 Prototype 单元格时,您的高度设置为:

3.) 在你的tableviewcontroller中,你指定高度了吗?:

    override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
        return 72
    }

将 72 全面替换为您想要的内容,除非您有其他事情发生,否则它应该会更新! :)