2015-08-27 83 views
0

我在Xcode 7上使用Swift 2 我有一個帶有containerView的ViewController。 containerView調用一個具有tableView的childViewController。在tableView中,我將一個自定義tableViewCell的行高設爲60點。iOS UITableView自定義RowHeightt

問題:在運行模式下:當tableView作爲容器中的父控制器的一部分顯示時 - 行高不保留60點。它變得任意的高度。這個新的任意高度與容器的大小無關。即使我製作容器 - 更小/更大 - 新的高度仍然存在。我想這是我在childViewController指定了我的自定義高度

下面是我的代碼添加childViewController並設置自動版式

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

1)您是否使用了自定義單元格的.xib ?如果你是,確保它的高度屬性在文件的.xib

2)在你的故事板文件中設置,檢查當你點擊的原型細胞中,TableView中,你的高度設置:

enter image description here

3)在你tableviewcontroller,你指定的高度?:

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

更換全線72與你想要的東西,它應該更新,除非你有別的事情上! :)

+0

添加工作的功能。我把行高放在屬性檢查器中,但由於某種原因,這還不夠。任何情況..謝謝:) –