【发布时间】:2016-06-14 19:47:48
【问题描述】:
我有一个 UITableView,我正在向其中添加部分。我创建了一个单独的类,它是 UITableHeaderFooterView 的子类。这是它的代码:
import UIKit
class SectionHeader: UITableViewHeaderFooterView {
@IBOutlet weak var sectionHeaderLabel: UILabel!
@IBOutlet weak var sectionHeaderButton: UIButton!
@IBAction func showHideViewAction(sender: UIButton) {
}
}
我要做的是在包含我的 UITableView 的 ViewController 中设置此类中包含的 UILabel 属性。在该类的 viewDidLoad 方法中,我按如下方式注册了 nib:
let nib = UINib(nibName: "SectionHeaderView", bundle: nil)
self.addTravellerTableView.registerNib(nib, forHeaderFooterViewReuseIdentifier: "SectionHeaderView")
我现在尝试在以下方法中设置 UILabel 属性的文本:
func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
if section == 1 {
let headerView = self.addTravellerTableView.dequeueReusableHeaderFooterViewWithIdentifier("SectionHeaderView")
//headerView.sectionHeaderLabel doesn't work.
return headerView
} else if section == 2{
return nil
} else {
return nil
}
}
我无法调用 UILabel 属性 sectionHeaderLabel。单步执行代码时,“headerView”至少会作为 UIView 类型的对象出现。
谁能看出我做错了什么?
【问题讨论】:
-
let headerView = self.addTravellerTableView.dequeueReusableHeaderFooterViewWithIdentifier("SectionHeaderView") as! SectionHeader
标签: ios swift uitableview uiview