在 Swift 中,您可以执行以下操作来自定义包含在 UITableViewHeaderFooterView 中的 UILabel 的外观属性:
UILabel.appearance(whenContainedInInstancesOf: [UITableViewHeaderFooterView.self]).font = UIFont.boldSystemFont(ofSize: 18)
UILabel.appearance(whenContainedInInstancesOf: [UITableViewHeaderFooterView.self]).textColor = .white
当您在以下位置使用 UITableViewHeaderFooterView 时,这将应用于 textLabel 属性:
public func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
var headerView = tableView.dequeueReusableHeaderFooterView(withIdentifier: headerViewId)
if headerView == nil {
headerView = UITableViewHeaderFooterView(reuseIdentifier: headerViewId)
}
headerView?.textLabel?.text = "My Header".uppercased()
return headerView
}
这在使用 UITableViewStyle.grouped 时确实很有帮助,因为即使您在 viewForHeaderInSection 中自定义 UITableViewHeaderFooterView.textLabel,这些节标题视图似乎也被默认样式覆盖