gpt4 book ai didi

objective-c - 如何通过仅更改高度而不更改宽度来调整 UILabel 的大小?

转载 作者:太空狗 更新时间:2023-10-30 03:08:22 25 4
gpt4 key购买 nike

[self.Review sizeToFit];

sizeToFit 之前的结果:

NSStringFromCGRect(self.Review.frame): {{90, 20}, {198, 63}}

sizeToFit 后的结果:

NSStringFromCGRect(self.Review.frame): {{90, 20}, {181, 45}}

我希望宽度保持不变。我只想改变高度。自动掩码是

(lldb) po self.Review
(UILabel *) $1 = 0x08bb0fe0 <UILabel: 0x8bb0fe0; frame = (90 20; 181 45); text = 'I'm at Mal Taman Anggrek ...'; clipsToBounds = YES; opaque = NO; autoresize = LM+RM+H; userInteractionEnabled = NO; layer = <CALayer: 0x8bb68b0>>

我知道有一种方法可以做到这一点: How to adjust and make the width of a UILabel to fit the text size?

答案要么很奇怪(需要补给字体信息)。或不清楚。

You will also need to define a maximum width, and tell your program what to do if sizeToFit gives you a width greater than that maximum.

我将使用使用 sizeWithFont 的奇怪解决方案。这很奇怪,因为 UILabel 已经知道标签中的字体。

实际上 sizeToFit 的行为如何?它如何决定我们需要更薄还是更高的 UILabel?

最佳答案

您可以使用 sizeThatFits 获得相同的结果。

CGSize size = [label sizeThatFits:CGSizeMake(label.frame.size.width, CGFLOAT_MAX)];
CGRect frame = label.frame;
frame.size.height = size.height;
label.frame = frame;

或者,使用 sizeToFit。

CGRect frame = label.frame;
[label sizeToFit];
frame.size.height = label.frame.size.height;
label.frame = frame;

关于objective-c - 如何通过仅更改高度而不更改宽度来调整 UILabel 的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13067839/

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