用label显示带图片的富文本

NSAttributedString *attributesStr = [self attributeWithString:@"小小的人啊 假不正经啊 天天就爱穷开心啊" imageNames:@[@"testImage",@"testImage",@"testImage",@"testImage"] imageBounds:CGRectMake(0, -5, 40, 40) font:[UIFont systemFontOfSize:30] fontColor:[UIColor greenColor]];
    self.textLabel.attributedText = attributesStr;
复制代码
- (NSAttributedString *)attributeWithString:(NSString *)string
                                 imageNames:(NSArray *)imageNames
                                imageBounds:(CGRect)imageBounds
                                       font:(UIFont *)font
                                  fontColor:(UIColor *)fontColor
{
    NSDictionary *attributes = @{
                                 NSForegroundColorAttributeName:fontColor,
                                 NSFontAttributeName:font
                                 };
    NSMutableAttributedString *attributeString = [[NSMutableAttributedString alloc] initWithString:string attributes:attributes];
    
    NSTextAttachment *attach = [[NSTextAttachment alloc] init];
    attach.bounds = imageBounds;
    
    NSAttributedString *imageString = [NSAttributedString attributedStringWithAttachment:attach];
    for (NSString *imageName in imageNames)
    {
        attach.image = [UIImage imageNamed:imageName];
        [attributeString insertAttributedString:[[NSAttributedString alloc] initWithString:@" "] atIndex:0];
        [attributeString insertAttributedString: imageString atIndex:0];
        [attributeString addAttribute:NSKernAttributeName value:@(15) range:NSMakeRange(0,2)];
    }
    
    return attributeString;
}
复制代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值