I need to create a CGSize to compute text height of an arbitrary text with arbitrary length. UIKit has this nice method -sizeWithFont:constrainedToSize: and my text is only constrained in width, but not in height.
For this, I need to set the maximum possible CGFloat for the height.
Is there a constant like "CGFloatMax"?
I was looking for a Swift version of minimum CGFloat value and landed here, if you too ;) then here is the answer:
This is more of a comment than an answer however I don't have enough reputation to comment at the present.
I just came across unexpected behavior with using CGFLOAT_MAX: on an iPhone 5S (64bit) device running iOS 7.1.2 and using Xcode 5.1.1, the following code:
Outputs:
Whereas, this code:
Correctly outputs:
I command+clicked on the CGFLOAT_MAX and Xcode took me to the CoreGraphics frameworks CGBase.h file with the following macro definition:
I command+clicked on CGFloat and Xcode took me to another line in the same file:
Then I command+clicked on the CGFLOAT_TYPE and it jumped to the #define line here:
So, for some reason my CGFloat variable is supposed to be a double, however it appears to be a float that overflows when it gets assigned a double value (i.e. CGFLOAT_MAX). As far as I can tell this Apple documentation page indicates using %f with NSLog should print the double - someone please correct me if this is wrong.
All that to say, if FLT_MAX works for your case, you may want to stick with that for now instead of CGFLOAT_MAX, especially if you are relying on a library that specifically accept float arguments instead of double or CGFloat.