Swift 2.2 UITableViewHeaderFooterView透明

时间:2016-08-04 16:59:28

标签: swift uitableview swift2 uitableviewsectionheader

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

这就是我所做的

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

我的最终目标是在我的uitableview下添加一个UIView,它将托管一个GMSMapView并拥有一个大小为100px的透明HeaderView。

有任何帮助吗? 感谢

3 个答案:

答案 0 :(得分:4)

您需要执行以下步骤

故事板中的

1)将headerfooterview添加到tableview

2)在视图中加载写入代码

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

3)添加tableview委托方法

 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 :(得分:2)

要遵循的步骤:

1)将UIView从对象库拖放到tableview的顶部以生成tableview标题。

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
    }

答案 2 :(得分:0)

//为了透明你的表格视图部分标题:

//在 Swift 5 中

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

view.tintColor = UIColor.clear

}