ios专题iOS开发iOS技术专题

富文本属性-图文混排

2016-03-15  本文已影响250人  HeavenWong

图文混排

    // 图文混排
    NSMutableAttributedString *attributedText = [[NSMutableAttributedString alloc] init];
    // 1 - 你好
    NSAttributedString *first = [[NSAttributedString alloc] initWithString:@"你好"];
    [attributedText appendAttributedString:first];

    // 2 - 图片
    // 带有图片的附件对象
    NSTextAttachment *attachment = [[NSTextAttachment alloc] init];
    attachment.image = [UIImage imageNamed:@"header_cry_icon"];
    CGFloat lineH = label.font.lineHeight;
    attachment.bounds = CGRectMake(0, - ((label.xmg_height - lineH) * 0.5 - 1), lineH, lineH);
    // 将附件对象包装成一个属性文字
    NSAttributedString *second = [NSAttributedString attributedStringWithAttachment:attachment];
    [attributedText appendAttributedString:second];

    // 3 - 哈哈哈
    NSAttributedString *third = [[NSAttributedString alloc] initWithString:@"哈哈哈"];
    [attributedText appendAttributedString:third];

    label.attributedText = attributedText;
Snip20160316_2.png
  UILabel *label = [[UILabel alloc] init];
  //    label.text = @"你好哈哈哈";
    NSMutableAttributedString *text =    [[NSMutableAttributedString alloc] initWithString:@"你好哈哈哈"];
    [text addAttribute:NSForegroundColorAttributeName value:[UIColor yellowColor] range:NSMakeRange(0, 3)];
    [text addAttribute:NSBackgroundColorAttributeName value:[UIColor redColor] range:NSMakeRange(2, 3)];
    label.attributedText = text;
    label.frame = CGRectMake(100, 100, 100, 25);
    [self.view addSubview:label];
Snip20160316_3.png
    UILabel *label = [[UILabel alloc] init];
    // 设置属性文字
    NSString *text = @"你好\n哈哈哈";
    NSMutableAttributedString *attributedText = [[NSMutableAttributedString alloc] initWithString:text];
    [attributedText addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:10] range:NSMakeRange(0, text.length)];
    [attributedText addAttribute:NSFontAttributeName value:[UIFont boldSystemFontOfSize:13] range:NSMakeRange(3, 3)];
    label.attributedText = attributedText;
    // 其他设置
    label.numberOfLines = 0;
    label.textAlignment = NSTextAlignmentCenter;
    label.frame = CGRectMake(0, 0, 100, 40);
    [self.view addSubview:label];
    self.navigationItem.titleView = label;
Snip20160316_4.png
上一篇下一篇

猜你喜欢

热点阅读