在我的willDisplayHeaderView中,我更改了节标题的颜色但是我想在节标题之前添加图像。有帮助吗? 我的willDisplayHeaderView代码是
func tableView(tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
let header: UITableViewHeaderFooterView = view as UITableViewHeaderFooterView
header.contentView.backgroundColor = UIColor(red: 238/255, green: 168/255, blue: 15/255, alpha: 0.8)
header.textLabel.textColor = UIColor.whiteColor()
header.alpha = 1
}
答案 0 :(得分:8)
您可以设计自己的标题,就像在表格视图中设计自定义单元格一样。 或者你可以像这样添加一个图像:
func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
var myCustomView: UIImageView
var myImage: UIImage = UIImage(named: "myImageResource")
myCustomView.image = myImage
let header: UITableViewHeaderFooterView = view as UITableViewHeaderFooterView
header.addSubview(myCustomView)
return header
}
然后你可以简单地将你的章节标题UILabel添加为另一个子视图。
答案 1 :(得分:8)
只需在viewDidLoad()
方法中添加以下代码即可。
var frame = CGRectMake(0, 0, self.view.frame.size.width, 200)
var headerImageView = UIImageView(frame: frame)
var image: UIImage = UIImage(named: "yourImage")!
headerImageView.image = image
youTableView.tableHeaderView = headerImageView
答案 2 :(得分:5)
以下是我们如何在UITableView
中添加自定义标头。
func tableView(tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
let header: UITableViewHeaderFooterView = view as UITableViewHeaderFooterView
let imageViewGame = UIImageView(frame: CGRectMake(5, 8, 40, 40));
let image = UIImage(named: "Games.png");
imageViewGame.image = image;
header.contentView.addSubview(imageViewGame)
}
答案 3 :(得分:4)
对于Swift 3
override func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
let header = view as! UITableViewHeaderFooterView
header.textLabel?.textColor = UIColor.white
let headerImage = UIImage(named: "headerBanner.jpg")
let headerImageView = UIImageView(image: headerImage)
header.backgroundView = headerImageView
}
答案 4 :(得分:3)
我在我的项目中使用以下方法。
override func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView?
{
let uilbl = UILabel()
//uilbl.numberOfLines = 0
//uilbl.lineBreakMode = NSLineBreakMode.ByWordWrapping
//uilbl.text = "blablabla"
uilbl.sizeToFit()
uilbl.backgroundColor = UIColor(patternImage: UIImage(named: "yr-img-name")!)
return uilbl
}
答案 5 :(得分:2)
这适用于swift 4
override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let headerImage: UIImage = UIImage(named: "image")!
let headerView = UIImageView(image: headerImage)
return headerView
}