gpt4 book ai didi

iphone - 重写 UILabel

转载 作者:行者123 更新时间:2023-12-03 20:42:06 27 4
gpt4 key购买 nike

我必须在 UILabel 中显示货币和价格。在一个标签中,但使用不同的字体大小。现在看起来像这样:

enter image description here

...我这样做是重写drawTextInRect:,如下所示:

- (void)drawTextInRect:(CGRect)rect{

CGSize textSize = [self.text sizeWithFont:self.font];
textSize.width -= textSize.width/12;
CGRect analogRect = CGRectMake(0, 0, textSize.width, self.frame.size.height);
CGPoint centrino = self.center;

self.frame = analogRect;
self.center = centrino;

NSString *currency = [self.text substringWithRange:NSMakeRange(0, 3)];
NSString *amount = [self.text substringWithRange:NSMakeRange(3, self.text.length - 3)];

self.text = currency;
self.textAlignment = UITextAlignmentLeft;
self.font = [UIFont fontWithName:@"Helvetica-Bold" size:30.];
self.baselineAdjustment = UIBaselineAdjustmentAlignBaselines;
[super drawTextInRect:analogRect];

self.text = amount;
self.textAlignment = UITextAlignmentRight;
self.font = [UIFont fontWithName:@"Helvetica-Bold" size:40.];
[super drawTextInRect:analogRect];
}

很好,不是吗?

但我需要在底部调整货币和价格,如下所示:

enter image description here

正如您所看到的,我需要强制“EUR”走低,因为它的尺寸较小并且居中,所以它看起来更高。

请建议一种方法来执行此操作。

提前致谢!

注意:

使用 2 个不同的标签对我来说不好。我必须在一个标签中完成它。

最佳答案

两个想法:1)由于您是 UILabel 的子类,因此您可以在子类的实现中为货币类型放置第二个标签,并且您的 View 仍然会认为只有一个标签。 2) 由于今天 iOS 6 上的 NDA 已解除,我建议您查看一下属性字符串。哦,+1 写的是“a UILabel”而不是“an UILabel”。

关于iphone - 重写 UILabel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12497860/

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