我有一个带有一个TableView的TableViewController,它的动态设置为自动布局。
我已将另一个TableView添加到用于菜单的Controller中。它的行高需要设置为65.
问题是,在 heightForRowAtIndexPath 中。我知道如何为这个tableView菜单的行返回65。但是,我不确定如何让自动布局为其他tableView执行此操作。
有谁知道我怎么能做到这一点?
这是我的代码:
override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
if tableView is YALContextMenuTableView {
return 65
} else {
}
}
答案 0 :(得分:6)
您可以super
使用UITableViewController
来实现此方法:
override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
if tableView is YALContextMenuTableView {
return 65
} else {
return super.tableView(tableView, heightForRowAtIndexPath:indexPath)
}
}
答案 1 :(得分:2)
不要使用tableView:heightForRowAtIndexPath:
。为菜单tableView单元调整自动布局和自行调整大小,使其约束大小(到65)或
继续使用tableView:heightForRowAtIndexPath:
。为非菜单tableView单元格返回UITableViewAutomaticDimension
的高度,这将让系统自行调整这些单元格的大小。
自行调整大小是首选方法,因为它与动态类型和自适应UI结合使用。