我遇到了一个UILabel的奇怪问题,其文本是居中对齐的,属性文本有背景色......
在换行符上,背景颜色从标签的边缘绘制到第一个字符,而不仅仅是字符后面。这是一个可解决的问题 - 我可以使背景颜色仅显示在实际文本后面吗?
实际行为(箭头指向应为白色的地方):
所需行为(来自Affinity Designer)
对于好奇的代码:
- (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];
}