Ios 在宏中使用未声明的标识符FLT_MAX

Ios 在宏中使用未声明的标识符FLT_MAX,ios,objective-c,macros,Ios,Objective C,Macros,我使用以下代码动态调整标签大小: 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\u SIZE是一个宏,定义如下: #define LABEL_S

我使用以下代码动态调整标签大小:

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\u SIZE
是一个宏,定义如下:

#define LABEL_SIZE(label) CGSizeMake(280, [label sizeThatFits:CGSizeMake(280, FLT_MAX)].height);
当在模拟器(32位)上运行时,代码工作得非常好。在模拟器(64位)上运行时出现问题。XCode将其显示为一个错误,而不是一个警告,因此它甚至不会编译


我不明白,我遗漏了什么吗?

尝试使用
CGFLOAT\u MAX
而不是
FLT\u MAX
,如下所示

#define LABEL_SIZE(label) CGSizeMake((CGFloat)280, [label sizeThatFits:CGSizeMake((CGFloat)280, (CGFLOAT_MAX))].height);

您忘记包含
float.h

#include <float.h>
float a = FLT_MAX;
#包括
浮球a=浮球最大值;

show
FLT_MAX
macro definition.FLT_MAX是在float中定义的内置宏。h.FLT_MAX是float的最大值。当您要查找与最大值比较的数字时使用value@SunnyShah,这与问题有什么关系?我不知道您在发布问题之前是否尝试过其他链接,但此链接完全符合您的要求: