在中心对齐的文本上修复NSAttributedString背景颜色

时间:2015-07-10 00:37:36

标签: ios uilabel nsattributedstring

我遇到了一个UILabel的奇怪问题,其文本是居中对齐的,属性文本有背景色......

在换行符上,背景颜色从标签的边缘绘制到第一个字符,而不仅仅是字符后面。这是一个可解决的问题 - 我可以使背景颜色仅显示在实际文本后面吗?

实际行为(箭头指向应为白色的地方): enter image description here

所需行为(来自Affinity Designer) enter image description here

对于好奇的代码:

- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.

NSString *textToUse = @"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum id malesuada diam. Ut eget odio libero. Sed urna elit, vestibulum et felis consequat, porta bibendum lorem";

NSDictionary *descriptionAttr = @{
                                  NSForegroundColorAttributeName : [UIColor blackColor],
                                  NSBackgroundColorAttributeName : [UIColor yellowColor],
                                  };
self.attrLabel.attributedText = [[NSAttributedString alloc] initWithString:textToUse attributes:descriptionAttr];

}

0 个答案:

没有答案