Swift 如何反向查找attributedString属性(如反向查找文字颜色)

1 运用 func attribute(_ attrName: NSAttributedStringKey, at location: Int, effectiveRange range: NSRangePointer?) -> Any?

如查找文字的颜色 

      let color =   attributedText.attribute(NSForegroundColorAttributeName, at: 0, effectiveRange: nil) as! UIColor
2 运用func enumerateAttributes(in enumerationRange: NSRange, options opts: NSAttributedString.EnumerationOptions = [], using block: ([NSAttributedStringKey : Any], NSRange, UnsafeMutablePointer<ObjCBool>) -> Void) 查找文字是否加粗 斜体
  self.attributedText.enumerateAttributes(in: rangeToCheck, options: NSAttributedString.EnumerationOptions(rawValue: 0)) { (object, range, stop) in
            if object.keys.contains(NSFontAttributeName) {
              
                //检查包含的元素
                if let font = object[NSFontAttributeName] as? UIFont {
                    if font.isBold {
                        isBold = true
                        print("Bold attribute")
                    }
                    if font.isItalic {
                        isItalic = true
                        print("Italic attribute")
                    }
                    if object.keys.contains(NSUnderlineStyleAttributeName) {
                        isUnderlined = true
                        print("Underline attribute")
                    }
                 
                   
                }
            }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值