在TableView区段标题中添加左边距可以通过自定义区段视图来实现。以下是一种常见的实现方式:
下面是一个示例代码:
// 自定义的区段视图类
class CustomHeaderView: UITableViewHeaderFooterView {
let titleLabel = UILabel()
override init(reuseIdentifier: String?) {
super.init(reuseIdentifier: reuseIdentifier)
// 设置标题标签的属性
titleLabel.font = UIFont.boldSystemFont(ofSize: 16)
titleLabel.textColor = UIColor.black
// 添加标题标签到区段视图
addSubview(titleLabel)
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override func layoutSubviews() {
super.layoutSubviews()
// 设置标题标签的frame
titleLabel.frame = CGRect(x: 20, y: 0, width: bounds.width - 20, height: bounds.height)
}
}
// 在UITableView的代理方法中使用自定义的区段视图类
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let headerView = tableView.dequeueReusableHeaderFooterView(withIdentifier: "CustomHeaderView") as? CustomHeaderView ?? CustomHeaderView(reuseIdentifier: "CustomHeaderView")
// 设置区段标题
headerView.titleLabel.text = "Section \(section)"
return headerView
}
func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return 44
}
这样,每个区段的标题就会有一个左边距,可以根据需要调整左边距的大小。
领取专属 10元无门槛券
手把手带您无忧上云