我使用以下代码动态调整标签大小:
CGRect frame = self.myLabel2.frame;
frame.origin.y = self.myLabel1.frame.origin.y + self.myLabel1.frame.size.height + 10;
frame.size = LABEL_SIZE(self.myLabel2);
self.myLabel2.frame = frame;
其中LABEL_SIZE
是定义为:
#define LABEL_SIZE(label) CGSizeMake(280, [label sizeThatFits:CGSizeMake(280, FLT_MAX)].height);
在模拟器(32位)上运行时,代码工作正常。在模拟器(64位)上运行时出现问题。 XCode将 not 显示为警告,但显示为错误,因此甚至无法编译。
我不明白,我错过了什么吗?
答案 0 :(得分:0)
您忘记包含 float.h
#include <float.h>
float a = FLT_MAX;
答案 1 :(得分:-2)
尝试使用CGFLOAT_MAX
代替FLT_MAX
,如下所示
#define LABEL_SIZE(label) CGSizeMake((CGFloat)280, [label sizeThatFits:CGSizeMake((CGFloat)280, (CGFLOAT_MAX))].height);