pau*_*590 2 uitableview ios swift3
在为tableView创建customHeader时,我遇到了一个奇怪的问题.我收到的错误如下:
nib必须只包含一个顶级对象,该对象必须是UITableViewHeaderFooterView实例
我浏览了我的代码和xib文件以及示例,但我找不到任何错误我错过的任何想法?
标题Xib是使用常规视图创建的,然后是带有标签的子视图,该类是使用以下内容创建的:
CustomTableHeader类:
class CustomTableHeader: UITableViewHeaderFooterView {
static var CustomTableHeaderIdentifier = "CustomTableHeader"
@IBOutlet weak var titleLabel: UILabel!
override awakeFromNib(){
super.awakeFromNib()
self.titleLabel.text = "Header"
}
override func prepareForReuse() {
super.prepareForReuse()
}
}
Run Code Online (Sandbox Code Playgroud)
ViewController类:
class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
@IBOutlet weak var tableView: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
self.tableView.register(UINib.init(nibName: CustomTableHeader.CustomTableHeaderIdentifier, bundle: nil), forHeaderFooterViewReuseIdentifier: CustomTableHeader.CustomTableHeaderIdentifier)
}
//Other Methods
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
if let header = tableView.dequeueReusableHeaderFooterView(withIdentifier: CustomTableHeader.CustomTableHeaderIdentifier) as? CustomTableHeader {
header.titleLabel.text = "Section 1"
return header
}
}
Run Code Online (Sandbox Code Playgroud)
pau*_*590 16
我想出了我的问题!为了防止任何人遇到这种情况,请确保您的第一个视图确实是XIB文件中唯一的对象.例如,我在尝试向标题视图添加手势,这也被视为对象.如果要添加手势,可以通过编程方式执行此操作:
addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(/* FUNCTION */)))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2701 次 |
| 最近记录: |