我想从静态UITableViewController中的单元格创建一个标头。
tableView控制器包含5个静态单元格
在第一个单元格中,我删除了4个标签,创建了一个类CustomHeader
。
在viewForHeaderInSection中,我收到错误Value of type 'UITableViewCell' has no member
。我知道如果我使用原型单元格,我可以使用tableView.dequeueReusableCell
,但我不知道如何在静态表格中使用它。
import UIKit
class CustomHeader: UITableViewCell {
@IBOutlet weak var dateHeaderlabel: UILabel!
@IBOutlet weak var hourHeaderlabel: UILabel!
@IBOutlet weak var totalHoursHeaderlabel: UILabel!
@IBOutlet weak var priceHeaderlabel: UILabel!
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
}
}
class ManagedTable: UITableViewController,UITextFieldDelegate{
override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let index = tableView.indexPathsForVisibleRows?.first
let headerCell = tableView.cellForRow(at: index!)
// I get error on the next 4 lines Value of type 'UITableViewCell' has no
// member dataHeaderlabel...etc
headerCell.dateHeaderlabel.text = StructS.headerDate
headerCell.hourHeaderlabel.text = StructS.headerHours + " " + "-"
headerCell.totalHoursHeaderlabel.text = String("\(Double(StructS.numberHours) + StructS.extrasHours) HOURS")
headerCell.priceHeaderlabel.text = String("£\(StructS.price + StructS.totalExtras + FullData.finalSuppliesAmount)")
headerCell.backgroundColor = UIColor(red: 230/255, green: 230/255, blue: 230/255, alpha: 1.0)
return headerCell
}
}
答案 0 :(得分:1)
尝试if let headerCell = tableView.cellForRow(at: index!) as? CustomHeader
,然后将headerCell成员变量的所有其余代码放在该块中。您似乎没有将headerCell
作为自定义类投射。
还要确保按预期设置index