如何使sizeToFit忽略宽度?

时间:2011-12-19 03:46:42

标签: iphone objective-c ios

我在一段代码中使用sizeToFit,我希望它忽略宽度,但只是根据高度“适合大小”。这可能吗?

2 个答案:

答案 0 :(得分:7)

您应该使用sizeThatFits:方法,并传入一个CGSize,其宽度为CGFLOAT_MAX,高度为{{1}}。例如,这是将多行标签的大小调整为特定宽度的推荐方法。

这是Apple工程师向我推荐的,是为了回应我为您提出的问题提出的功能请求。

答案 1 :(得分:5)

您可以存储原始边界,并在调用-sizeToFit后将新边界设置为旧宽度。

CGRect oldBounds = someView.bounds;
[someView sizeToFit];
CGRect newBounds = someView.bounds;
newBounds.size.width = oldBounds.size.width;
someView.bounds = newBounds;