gpt4 book ai didi

iphone - UILabel 在第 3 代和第 4 代 iPod 上的显示方式有所不同

转载 作者:行者123 更新时间:2023-11-28 20:45:01 25 4
gpt4 key购买 nike

我有一个 UILabel,它在第 3 代和第 4 代 iPod 上表现不同。

我的 UILabel 是:

<UILabel: 0x881e80; frame = (10 76; 70 28); text = 'Produits Indisponibles'; clipsToBounds = YES; opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x863fe0>>

现在,在第 4 代 iPod 上它工作正常并且文本正确地换行到 2 行,但在第 3 代 iPod 上文本换行但第二个词(Indisponibles)消失了。可能是什么原因?

如果我将框架宽度再增加 1 个像素,效果会很好。这是我的代码:

self.titleLabel = [[[UILabel alloc] initWithFrame:CGRectZero] autorelease];
self.titleLabel.text = @"Produits Indisponibles";
self.titleLabel.isAccessibilityElement = NO;
self.titleLabel.backgroundColor = [UIColor clearColor];
self.titleLabel.opaque = NO;
self.titleLabel.textColor = [UIColor whiteColor];
self.titleLabel.lineBreakMode = UILineBreakModeWordWrap;
self.titleLabel.numberOfLines = 2;
self.titleLabel.highlightedTextColor = [UIColor whiteColor];
self.titleLabel.baselineAdjustment = UIBaselineAdjustmentAlignBaselines;
self.titleLabel.textAlignment = UITextAlignmentCenter;
self.titleLabel.font = [UIFont boldSystemFontOfSize:11];
CGSize aLabelSize = CGSizeMake(self.frame.size.width - 20, 28);
CGSize aStringSize = [self.titleLabel.text sizeWithFont:self.titleLabel.font constrainedToSize:aLabelSize lineBreakMode:UILineBreakModeWordWrap];
CGFloat theYOrigin = self.bounds.size.height - 34;

if (aStringSize.height < 15) {
theYOrigin = theYOrigin + 14;
}
self.titleLabel.frame = CGRectMake(10, theYOrigin, aLabelSize.width, aStringSize.height);
[self addSubview:self.titleLabel];

最佳答案

Retina 显示屏使用 Helvetica Neue 作为系统字体,而旧型号则使用普通 Helvetica。这可能与不同的字体规范有关。硬编码您知道两者都可用的字体,以查看它们是否一致显示。

关于iphone - UILabel 在第 3 代和第 4 代 iPod 上的显示方式有所不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6755856/

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