Swift 2.2 UITableViewHeaderFooterView透明

Swift 2.2 UITableViewHeaderFooterView transparent

我正在尝试为 TableViewHeader 设置透明背景,但没有成功。 首先,想知道这是否可能?

这就是我所做的

func tableView(tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
   let header: UITableViewHeaderFooterView = view as! UITableViewHeaderFooterView 
   header.contentView.backgroundColor = UIColor.clearColor()
}

我最后的 objective 是在我的 uitableview 下添加一个 UIView,它将承载一个 GMSMapView 并具有一个大小为 100px 的透明 HeaderView。

有什么帮助吗? 谢谢

您需要执行以下步骤

1) 在故事板中将 headerfooterview 添加到 tableview

2)在视图中加载写了下面的代码

tableView.registerClass(HeaderView.self, forHeaderFooterViewReuseIdentifier: "HeaderView")
headerView = tableView.dequeueReusableHeaderFooterViewWithIdentifier("headerView") as? HeaderView

3) 添加表视图委托方法

 func tableView(tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
        return 110;
}

func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
    headerView.backgroundColor = UIColor.clearColor()
    return headerView;
}

希望对您有所帮助

要遵循的步骤:

1) 从对象库中拖放一个UIView到tableview的顶部来制作一个tableview header。

2)在 Tableview 控制器中创建视图的 IBOutlet。

3) 最后调用这个 UITableview 委托方法

override func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {

        yourHeaderView.backgroundColor = UIColor.clearColor()
        return yourHeaderView

    }

// 当你需要做一个透明的页脚视图时调用这个

override func tableView(tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
        footerView.backgroundColor = UIColor.clearColor()
        return footerView
    }

//透明你的 table 视图部分 header:

//在Swift 5

func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {

view.tintColor = UIColor.clear

}