美文网首页
swift label富文本

swift label富文本

作者: 紫荆逸 | 来源:发表于2017-10-12 01:02 被阅读503次

文章来源1
文章来源2

swift 3.0

 //定义富文本即有格式的字符串
        let attributedStrM : NSMutableAttributedString = NSMutableAttributedString()

        //邱学伟
        let qiuxuewei : NSAttributedString = NSAttributedString(string: "邱学伟", attributes: [ NSBackgroundColorAttributeName : UIColor.red,NSForegroundColorAttributeName : UIColor.green, NSFontAttributeName : UIFont.boldSystemFont(ofSize: 28.0)]) //(string: "邱学伟")
        //是
        let shi : NSAttributedString = NSAttributedString(string: "是", attributes: [NSForegroundColorAttributeName : UIColor.blue, NSFontAttributeName : UIFont.systemFont(ofSize: 10.0)])
        //大帅哥
        let dashuaige : NSAttributedString = NSAttributedString(string: "大帅哥", attributes: [NSForegroundColorAttributeName : UIColor.lightGray, NSFontAttributeName : UIFont.systemFont(ofSize: 42.0)])
        //笑脸图片
        let smileImage : UIImage = UIImage(named: "d_hehe")!
        let textAttachment : NSTextAttachment = NSTextAttachment()
        textAttachment.image = smileImage
        textAttachment.bounds = CGRect(x: 0, y: -4, width: 22, height: 22)

        attributedStrM.append(qiuxuewei)
        attributedStrM.append(shi)
        attributedStrM.append(dashuaige)
        attributedStrM.append(NSAttributedString(attachment: textAttachment))

        label.attributedText = attributedStrM
    }


3.0
 //定义富文本即有格式的字符串
        let attributedStrM : NSMutableAttributedString = NSMutableAttributedString()

        //折扣后的价
        let currentPriceString : NSAttributedString = NSAttributedString(string: "¥9.9 ", attributes: [ NSBackgroundColorAttributeName : UIColor.clear,NSForegroundColorAttributeName : UIColor.red, NSFontAttributeName : UIFont.boldSystemFont(ofSize: 20.0)])
        
        //原价 给价格加上中划线
        let oldPriceStr =  "¥24.9"
        let oldPriceString: NSMutableAttributedString = NSMutableAttributedString(string: oldPriceStr, attributes: [NSForegroundColorAttributeName: UIColor.lightGray, NSFontAttributeName : UIFont.systemFont(ofSize: 12.0)])
        oldPriceString.addAttribute(NSStrikethroughStyleAttributeName, value: NSNumber.init(value: 1), range: NSRange(location: 0, length: oldPriceStr.length))

        attributedStrM.append(currentPriceString)
        attributedStrM.append(oldPriceString)
        
        goodsPriceLabel.attributedText = attributedStrM

中划线

swift 4.0

//定义富文本即有格式的字符串
        let attributedStrM : NSMutableAttributedString = NSMutableAttributedString()
        
        //折扣后的价
        let currentPriceString : NSAttributedString = NSAttributedString(string: "¥9.9 ", attributes: [ NSAttributedStringKey.backgroundColor : UIColor.clear,NSAttributedStringKey.foregroundColor : UIColor.red, NSAttributedStringKey.font : UIFont.boldSystemFont(ofSize: 20.0)])
        
        //原价 给价格加上中划线
        let oldPriceStr =  "¥24.9"
        let oldPriceString: NSMutableAttributedString = NSMutableAttributedString(string: oldPriceStr, attributes: [NSAttributedStringKey.foregroundColor : UIColor.lightGray, NSAttributedStringKey.font : UIFont.systemFont(ofSize: 12.0)])
           oldPriceString.addAttribute(NSAttributedStringKey.strikethroughStyle, value: NSNumber(value: 1), range: NSMakeRange(1, oldPriceStr.count-1))//主要这一句
        
        attributedStrM.append(currentPriceString)
        attributedStrM.append(oldPriceString)
        
        goodsPriceLabel.attributedText = attributedStrM

oc版


添加中划线:
UILabel * strikeLabel = [[UILabel alloc] initWithFrame:(CGRectMake(10, 10, 50, 30))]; NSString *textStr = [NSString stringWithFormat:@"%@元", primeCost]; //中划线 NSDictionary *attribtDic = @{NSStrikethroughStyleAttributeName: [NSNumber numberWithInteger:NSUnderlineStyleSingle]}; NSMutableAttributedString *attribtStr = [[NSMutableAttributedString alloc]initWithString:textStr attributes:attribtDic]; // 赋值 strikeLabel.attributedText = attribtStr; [self.view addSubview:strikeLabel];

添加下划线:
UILabel *underlineLabel = [[UILabel alloc] initWithFrame:(CGRectMake(10, 10, 50, 30))]; NSString *textStr = [NSString stringWithFormat:@"%@元", primeCost]; // 下划线 NSDictionary *attribtDic = @{NSUnderlineStyleAttributeName: [NSNumber numberWithInteger:NSUnderlineStyleSingle]}; NSMutableAttributedString *attribtStr = [[NSMutableAttributedString alloc]initWithString:textStr attributes:attribtDic]; //赋值 underlineLabel.attributedText = attribtStr; [self.view addSubview:underlineLabel];
例子.png

源码点这里

相关文章

网友评论

      本文标题:swift label富文本

      本文链接:https://www.haomeiwen.com/subject/tzagyxtx.html