gpt4 book ai didi

ios - UILabel 属性文本呈现不正确

转载 作者:可可西里 更新时间:2023-11-01 06:23:00 24 4
gpt4 key购买 nike

我一直在使用属性文本设置 UILabel 以获得我想要的字体轮廓,并且我经常更改 UILabel 的 attributedText 属性。似乎大约有 50% 的时间它似乎在不删除旧文本的情况下在旧文本上呈现新文本。现在我的代码如下所示:

// Attributes initialization
self.labelAttributes = [NSMutableDictionary dictionary];
[self.labelAttributes setObject: [UIFont fontWithName:@"Helvetica Neue" size:21] forKey: NSFontAttributeName];
[self.labelAttributes setObject: [UIColor whiteColor] forKey: NSForegroundColorAttributeName];
[self.labelAttributes setObject: [NSNumber numberWithFloat: -3.0] forKey: NSStrokeWidthAttributeName];
[self.labelAttributes setObject: [UIColor blackColor] forKey: NSStrokeColorAttributeName];

// Clear UILabel attributedString
self.userLabel.attributedText = [[NSAttributedString alloc] initWithString:@"" attributes:self.labelAttributes];
// Also attempted this with nil;


// Set UILabel to string, where self.userName and self.userAge are just regular strings.
NSString *labelString = [NSString stringWithFormat:@"%@, %@", self.userName, self.userAge];
self.userLabel.attributedText = [[NSAttributedString alloc] initWithString:labelString attributes:self.labelAttributes];

当它工作时,它看起来像这样:

enter image description here

当它不起作用时,它看起来像这样:

enter image description here

这似乎是最后一个用户的名字,加上当前用户的名字相互叠加。

我想不出一个好的方法来保证标签被清除,而且我不确定如何调试它。 (我试过在 XCode 6 中使用可视化调试,但它仍然认为它只是一个标签,将新用户的文本作为文本属性。)

最佳答案

默认情况下应该是正确的,但您仍然可以尝试:

self.userLabel.clearsContextBeforeDrawing = YES;
self.userLabel.contentMode = UIViewContentModeRedraw;

关于ios - UILabel 属性文本呈现不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26092261/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com