我使用以下代码将图标添加到我的UILabel
UIImage *image3 = [UIImage imageNamed:@"icon_comments.png"];
UIImage *myIcon3 = [self imageWithImage:image3 scaledToSize:CGSizeMake(20, 20)];
NSTextAttachment *attachment3 = [[NSTextAttachment alloc] init];
attachment3.image = myIcon3;
NSAttributedString *attachmentString3 = [NSAttributedString attributedStringWithAttachment:attachment3];
NSString *temp3 = [NSString stringWithFormat: @"%d", test.noComments];
NSAttributedString *titleString3 = [[NSAttributedString alloc] initWithString:temp3];
NSMutableAttributedString *myString3 = [[NSMutableAttributedString alloc] initWithString:@""];
[myString3 appendAttributedString:attachmentString3];
[myString3 appendAttributedString:titleString3];
cell.noComments.attributedText = myString3;
现在的问题是文本没有与图标垂直对齐,任何人都可以告诉我这是什么问题以及如何解决它
答案 0 :(得分:1)
对于某些_label
NSRange range = [myString3.string rangeOfString:titleString3.string];
CGFloat dy = (_label.frame.size.height - _label.font.pointSize) / 2;
[myString3 addAttribute:NSBaselineOffsetAttributeName value:[NSNumber numberWithFloat:dy] range:range];
_label.attributedText = myString3;
答案 1 :(得分:0)
您需要手动设置附件的边界以进行补偿。
CGFloat offsetY = //However much you need to offset the image + is down - is up
attachment3.bounds = CGRectMake(0, offsetY, myIcon3.size.width, myIcon3.size.height);