首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Swift -如何为UITableView定制头部?

Swift -如何为UITableView定制头部?
EN

Stack Overflow用户
提问于 2015-08-12 20:15:07
回答 7查看 151.7K关注 0票数 57

我需要将自定义标题添加到我的表中

我试试这个

代码语言:javascript
运行
复制
func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {

    let view = UIView(frame: CGRect(x: 0, y: 0, width: tableView.frame.size.width, height: 18))
    let label = UILabel(frame: CGRect(x: 20, y: 20, width: 50, height: 50))
    label.text = "TEST TEXT"
    label.textColor = UIColor.whiteColor()

    self.view.addSubview(view)

    return view
}

但这不管用,我什么也没看到

我做错了什么?或者也许还有其他方法?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2015-08-12 20:39:33

您是否在viewDidLoad中设置了节标题高度?

代码语言:javascript
运行
复制
self.tableView.sectionHeaderHeight = 70

另外,你应该替换

代码语言:javascript
运行
复制
self.view.addSubview(view)

代码语言:javascript
运行
复制
view.addSubview(label)

最后,你必须检查你的框架

代码语言:javascript
运行
复制
let view = UIView(frame: CGRect.zeroRect)

以及最终想要的文本颜色,因为它目前看起来是白色的。

票数 32
EN

Stack Overflow用户

发布于 2018-09-05 13:48:33

在UITableView中为swift 4中的部分添加自定义标题视图的最佳工作解决方案是--

#1首先使用方法ViewForHeaderInSection,如下所示:

代码语言:javascript
运行
复制
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
        let headerView = UIView.init(frame: CGRect.init(x: 0, y: 0, width: tableView.frame.width, height: 50))
        
        let label = UILabel()
        label.frame = CGRect.init(x: 5, y: 5, width: headerView.frame.width-10, height: headerView.frame.height-10)
        label.text = "Notification Times"
        label.font = .systemFont(ofSize: 16)
        label.textColor = .yellow
        
        headerView.addSubview(label)
        
        return headerView
    }

#2也不要忘记使用heightForHeaderInSection UITableView方法设置header的高度-

代码语言:javascript
运行
复制
func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
        return 50
    }

你都准备好了,???

票数 62
EN

Stack Overflow用户

发布于 2017-03-09 19:51:48

如果您使用自定义单元格作为标题,请添加以下内容。

代码语言:javascript
运行
复制
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {

        let headerView = UIView()
        let headerCell = tableView.dequeueReusableCell(withIdentifier: "customTableCell") as! CustomTableCell
        headerView.addSubview(headerCell)
        return headerView
    }

如果您想拥有简单的视图,请添加以下内容。

代码语言:javascript
运行
复制
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let headerView:UIView =  UIView()
    return headerView
}
票数 29
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31964941

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档