统一替换富文本中图片大小

记录一下如何统一替换富文本中图片大小

//遍历富文本得到NSTextAttachment类,改变图片的大小


    [self.descriptionString enumerateAttribute:NSAttachmentAttributeName inRange:NSMakeRange(0, self.descriptionString.length) options:0 usingBlock:^(id  _Nullable value, NSRange range, BOOL * _Nonnull stop) {

        if ([value isKindOfClass:[NSTextAttachment class]]) {

            NSTextAttachment * attachment = value;

            CGFloat height = attachment.bounds.size.height;

            attachment.bounds = CGRectMake(0, 0, kScreenWidth-20, height);

        }

    }];

UILable 属性

UILabel的adjustFont为YES时,Minimum Font Scale要设置最小缩放系数,且此label的长宽中必须有一个不被约束才有效果

1.text:设置标签显示文本。

2.attributedText:设置标签属性文本。

Ios代码

NSString *text = @"first"; 

NSMutableAttributedString *textLabelStr = [[NSMutableAttributedString alloc] initWithString:text]; 

[textLabelStr setAttributes:@{NSForegroundColorAttributeName : [UIColor lightGrayColor],   

 NSFontAttributeName : [UIFont systemFontOfSize:17]} range:NSMakeRange(11, 10)];

label.attributedText = textLabelStr; 

3.font:设置标签文本字体。

默认是系统自带字体,大小为17。

Ios代码

label.font = [UIFontsystemFontOfSize:17]

label.font = [UIFont fontWithName:@"Arial" size:16]; 

Ios代码

label.textColor = [UIColor blueColor];

4.textAlignment:设置标签文本对齐方式。

Ios代码

label.textAlignment = NSTextAlignmentCenter; 

5.lineBreakMode:设置标签文字过长时的显示方式,这个属性使用于label中文本的换行和截短。第一numberofLines必须设置为0,才有效果。

Ios代码

label.lineBreakMode = NSLineBreakByCharWrapping;//以字符为显示单位显示,后面部分省略不显示。 

label.lineBreakMode = NSLineBreakByClipping;//剪切与文本宽度一样的内容长度,后半部分被删除。 

label.lineBreakMode = NSLineBreakByTruncatingHead;//前面部分文字以……方式省略,显示尾部文字内容。 

label.lineBreakMode = NSLineBreakByTruncatingMiddle;//中间的内容以……方式省略,显示头尾的文字内容。 

label.lineBreakMode = NSLineBreakByTruncatingTail;//结尾部分的内容以……方式省略,显示头的文字内容。 

label.lineBreakMode = NSLineBreakByWordWrapping;//以单词为显示单位显示,后面部分省略不显示。 

列如:

label.numberOfLines = 0label.lineBreakMode = NSLineBreakByTruncatingMiddle;

6.enabled:设置文字内容是否可变。

7.adjustsFontSizeToFitWidth:文字内容自适应标签宽度。

8.adjustsLetterSpacingToFitWidth:根据字母的间隔自适应标签宽度,超出部分以……显示。

9.numberOfLines:标签最多显示行数。

10.minimumScaleFactor:设置最小字体,与minimumFontSize一样,minimumFontSize在IOS 6后不能使用。

11.highlightedTextColor:设置文本高亮显示颜色,与highlighted一起使用。

12.shadowColor:设置文本阴影颜色。

13.shadowColor:设置文本阴影与原文本的偏移量。label.shadowOffset= CGSizeMake(1.0, 5.0);

14.userInteractionEnabled:设置标签是否忽略或移除用户交互。默认为NO。

15.preferredMaxLayoutWidth:优先选择标签布局的最大宽度。

16.baselineAdjustment:如果adjustsFontSizeToFitWidth属性设置为YES,这个属性就来控制文本基线的行为。

Ios代码

label4.baselineAdjustment = UIBaselineAdjustmentNone; 

UIBaselineAdjustmentAlignBaselines=0,默认,文本最上端与中线对齐。 

UIBaselineAdjustmentAlignCenters,  文本中线与label中线对齐。 

UIBaselineAdjustmentNone,  文本最低端与label中线对齐。

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
琪琪吃了嘛的头像 - 宋马
评论 抢沙发

请登录后发表评论

    暂无评论内容