我们如何使用swift在UITableView节头中添加图像?

在我的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 } 

您可以devise自己的标题,就像在表格视图中devise自定义单元格一样。 或者你可以像这样添加一个图像:

 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添加为另一个子视图。

只需将下面的代码添加到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 

对于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 } 

我在我的proj下面使用这个方法。

 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 } 

这里是我们如何在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) }