I am currently using
- (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size lineBreakMode:(UILineBreakMode)lineBreakMode
to
The NSString is not presenting the emoji, it's representing a string, so the sizeWithFont will only account for the string.
I would use:
CGRect labelFrame = label.frame;
labelFrame.size = [label sizeThatFits:CGSizeMake(100, 9999)];
[label setFrame:labelFrame];
or
//Alternatively
[label sizeToFit];
Bare in mind that sizeToFit
calls the sizeThatFits:
method, so in terms of just setting the label to the right height, sizeThatFits: is quicker, and much easier on the eye.