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 全面替换为您想要的内容,除非您有其他事情发生,否则它应该会更新! :)
我在 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 全面替换为您想要的内容,除非您有其他事情发生,否则它应该会更新! :)