• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - UITableView 部分标题更改当前标题的样式

[复制链接]
菜鸟教程小白 发表于 2022-12-13 09:36:13 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

有没有人知道当 UITableView 在 Swift 中滚动时访问和更改 UITableView 中 CURRENT 节标题的样式的内置方法或自定义方式(样式纯)。

我的页眉预设样式是:

override func tableView(tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
    let header: UITableViewHeaderFooterView = view as! UITableViewHeaderFooterView //recast your view as a UITableViewHeaderFooterView
    header.textLabel.font = UIFont(name: "HelveticaNeue-CondensedBold", size: 14)
    header.contentView.backgroundColor = UIColor.groupTableViewBackgroundColor()
    header.textLabel.textColor = UIColor.grayColor()
}

具体来说,我想在 View 滚动时将当前节标题的标题背景颜色更改为黑色,并将文本颜色更改为白色。其他表头的样式保持预设样式。



Best Answer-推荐答案


在我当前的应用程序中:

override public func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView?
{
    let view: UIView
    if let _view: UIView = tableView.headerViewForSection(section)
    {
        view = _view
    } else {
        let dxOffset: CGFloat = 16.0
        view = UIView(frame: CGRectMake(dxOffset, 0, tableView.frame.size.width - dxOffset, TableViewViewsHeight.sectionHeight))
    }

    // create our label
    let label: UILabel = UILabel(frame: view.frame)
    label.textColor = UIColor.appEmptyTextColor()
    label.text = "\(self.letters[section])"
    label.font = UIFont.systemFontOfSize(UIFont.smallSystemFontSize() + 4.0)

    // create the separator frame
    var separatorFrame: CGRect = view.frame
    separatorFrame.size = CGSizeMake(separatorFrame.size.width, 1.0)
    separatorFrame.offset(dx: 0.0, dy: view.frame.size.height - 1.0)

    // create the separator
    let imageView: UIImageView = UIImageView(frame: separatorFrame)
    imageView.backgroundColor = UIColor.appEmptyGolfTrainingTextColor()
    imageView.alpha = 0.4

    // add subviews
    view.addSubview(label)
    view.addSubview(imageView)

    // setup the view
    view.backgroundColor = UIColor.whiteColor()

    return view
}

这会创建一个带有白色背景的标题、一个分隔符和一个包含字母的标签。

您应该使用 func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? 来更改节标题的外观。

关于ios - UITableView 部分标题更改当前标题的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31821897/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap