[Code Note] UILable highly adaptive (sizeWithFont) and uilable adaptive height
I. Code.
-(Void) viewDidLoad {[super viewDidLoad]; // Do any additional setup after loading the view. NSString * textString = @ "1234567890"; NSLog (@ "--- height -- % ld", (long) [self contentHeightWithText: textString]);} // calculate the label height (NSInteger) contentHeightWithText :( NSString *) text {NSInteger ch based on the text to be displayed; // The size must be the same as the size in the label. UIFont * font = [UIFont fontWithName: @ "Arial" size: 11]; // 300 is width, and 20000.0f is high. Set CGSize size = CGSizeMake (300,200 000000f); // if the version is later than 7.0. Because the function for calculating the label height has changed. If ([[UIDevice currentDevice]. systemVersion doubleValue]> = 7.0) {NSDictionary * tdic = [NSDictionary attributes: font, NSFontAttributeName, nil]; size = [text boundingRectWithSize: size options: Custom | optional attributes: tdic context: nil]. size;} ch = size. height; return ch ;}
2. output.
10:48:27. 950 UILable highly adaptive (sizeWithFont) [3232: 93993] --- height -- 12