我正在尝试将视图作为 tableHeaderView 添加到我的 tableview 中。我从界面构建器中拖动一个视图并将其放入我的表格视图中。标题的大小很小,所以我通过编码调整它的大小。当我运行我的应用程序时,它变成了这样:
这是我更改表格视图标题大小的代码:
self.myTableView.tableHeaderView?.frame = CGRectMake(0, 0, screenWidth, 290)
请有任何修复它的建议!
我正在尝试将视图作为 tableHeaderView 添加到我的 tableview 中。我从界面构建器中拖动一个视图并将其放入我的表格视图中。标题的大小很小,所以我通过编码调整它的大小。当我运行我的应用程序时,它变成了这样:
这是我更改表格视图标题大小的代码:
self.myTableView.tableHeaderView?.frame = CGRectMake(0, 0, screenWidth, 290)
请有任何修复它的建议!
使用这个 UItableView 扩展。
我有同样的问题
extension UITableView {
func setTableHeaderView(headerView: UIView?) {
// set the headerView
tableHeaderView = headerView
// check if the passed view is nil
guard let headerView = headerView else { return }
// check if the tableHeaderView superview view is nil just to avoid
// to use the force unwrapping later. In case it fail something really
// wrong happened
guard let tableHeaderViewSuperview = tableHeaderView?.superview else {
assertionFailure("This should not be reached!")
return
}
// force updated layout
headerView.setNeedsLayout()
headerView.layoutIfNeeded()
// set tableHeaderView width
tableHeaderViewSuperview.addConstraint(headerView.widthAnchor.constraint(equalTo: tableHeaderViewSuperview.widthAnchor, multiplier: 1.0))
// set tableHeaderView height
let height = headerView.systemLayoutSizeFitting(UILayoutFittingCompressedSize).height
tableHeaderViewSuperview.addConstraint(headerView.heightAnchor.constraint(equalToConstant: height))
}
}
创建一个 xib,其中包含header view
您要添加的类型TableView
。然后在using方法viewWillAppear
的方法中加载您的 xib 。现在通过使用将返回的视图添加为标题,controller
[[NSBundle mainBundle]loadNibNamed:@""]
NSBundle
tableView
tv.tableHeaderView = <your UI view>;