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

ios - 如何在导航栏中设置 backBarButtonItem 标题的样式?

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

我希望能够仅更改导航栏中后退按钮的文本颜色。

作为一种解决方法,我可以通过创建自定义 View 并将其分配给 navigationItem.leftBarButtonItem 来做我想做的事情,但它看起来不太好,我也失去了滑动弹出能力。 enter image description here

以上代码:

let button = UIButton(type: .system)
    let originalImage = #imageLiteral(resourceName: "BackButton")
    let scaledImage: UIImage = UIImage(cgImage: originalImage.cgImage!, scale: 30, orientation: originalImage.imageOrientation)

    button.setImage(scaledImage, for: .normal)
    button.setTitle("YourTitle", for: .normal)
    button.sizeToFit()
    button.setTitleColor(.brown, for: .normal)
    button.tintColor = .blue

    navigationItem.leftBarButtonItem = UIBarButtonItem(customView: button)

我还看到一些建议,例如通过

设置后退按钮的属性
navigationController?.navigationBar.topItem.backBarButtonItem?.setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.red], for: .normal)

但这似乎对文本的外观没有任何影响,尽管

print("Attributes: ", navigationController?.navigationBar.topItem?.backBarButtonItem?.titleTextAttributes(for: .normal) ?? "No attributes")

导致属性:["NSColor": UIExtendedSRGBColorSpace 1 0 0 1].

我可以设置 tintColor 但这会改变除了标题之外的后退图标的颜色。

那么做我想做的最好的方法是什么?有什么办法吗?



Best Answer-推荐答案


我不确定我是否理解正确。但试试下面的代码。这将适用于您应用的所有栏按钮项。将此代码放置在应用程序生命周期内仅调用一次的位置。像 application:didFinishLaunchingWithOptions:

let attribs = [NSForegroundColorAttributeName: UIColor.red, NSFontAttributeName: UIFont.boldSystemFont(ofSize: 18)]
UIBarButtonItem.appearance().setTitleTextAttributes(attribs, for: .normal)

关于ios - 如何在导航栏中设置 backBarButtonItem 标题的样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46431592/

回复

使用道具 举报

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

本版积分规则

关注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