Swift   发布时间:2022-04-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了swift – 将NSAttributedString添加到UIBarButtonItem大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试在后栏按钮项目上设置属性字符串.
这是我第一次尝试归因于字符串.
这是代码

self.navigationItem.hidesBACkButton = true
    let barButtonBACkStr = "< BACk"
    var attributedBarButtonBACkStr = NSMutableAttributedString(String: barButtonBACkStr as String)
    attributedBarButtonBACkStr.addAttribute(NSFontAttributename,value: UIFont(
            name: "AmericanTypewriter-Bold",size: 18.0)!,range: NSRange(
            LOCATIOn:0,length:1))
    let newBACkButton = UIBarButtonItem(title: attributedBarButtonBACkStr,style: UIBarButtonItemStyle.Plain,target: self,action: "barButtonBACk:")
    self.navigationItem.leftBarButtonItem = newBACkButton

这导致Xcode中出现以下错误.

任何人都知道如何做到这一点?谢谢.

解决方法

您无法直接将属性字符串设置为UIBarButtonItem.您必须为其标题设置一个普通字符串,然后设置标题属性

let barButtonBACkStr = "< BACk"
let attributes: [String: AnyObject] = [NSFontAttributename: UIFont(name: "AmericanTypewriter-Bold",size: 18)!]
let newBACkButton = UIBarButtonItem(title: barButtonBACkStr,action: "barButtonBACk:")
newBACkButton.settitleTextAttributes(attributes,forState: .Normal)
navigationItem.leftBarButtonItem = newBACkButton

这种方法有一点需要注意:您无法为属性设置范围.这是全有或全无.

要为必须创建UILabel的属性定义范围,请将属性字符串设置为其attributiontext属性,然后使用自定义视图创建UIBarButtonItem:

let barButtonBACkStr = "< BACk"
let attributedBarButtonBACkStr = NSMutableAttributedString(String: barButtonBACkStr as String)
attributedBarButtonBACkStr.addAttribute(NSFontAttributename,value: UIFont(
        name: "AmericanTypewriter-Bold",range: NSRange(
        LOCATIOn:0,length:1))
let label = UILabel()
label.attributedText = attributedBarButtonBACkStr
label.sizeToFit()
let newBACkButton = UIBarButtonItem(customView: label)
self.navigationItem.leftBarButtonItem = newBACkButton

当您想要使用此方法时,您必须知道必须将目标和操作设置为自定义视图,因为UIBarButtonItem不再处理它.正如它在Apple的文档中所说:

大佬总结

以上是大佬教程为你收集整理的swift – 将NSAttributedString添加到UIBarButtonItem全部内容,希望文章能够帮你解决swift – 将NSAttributedString添加到UIBarButtonItem所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。