Created
July 25, 2014 16:29
-
-
Save brynbodayle/de70eb6a392e90272707 to your computer and use it in GitHub Desktop.
Multiline UIButton + Auto Layout
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- (CGSize)intrinsicContentSize { | |
CGSize boundingSize = CGSizeMake(self.titleLabel.preferredMaxLayoutWidth - self.titleEdgeInsets.left - self.titleEdgeInsets.right, CGFLOAT_MAX); | |
NSAttributedString *attributedTitle = [self attributedTitleForState:self.state]; | |
CGRect boundingRect; | |
if(attributedTitle) { | |
boundingRect = [attributedTitle boundingRectWithSize:boundingSize options:(NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading) context:NULL]; | |
} | |
else { | |
NSString *title = [self titleForState:self.state]; | |
boundingRect = [title boundingRectWithSize:boundingSize options:(NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading) attributes:@{NSFontAttributeName : self.titleLabel.font} context:NULL]; | |
} | |
return CGSizeMake(boundingRect.size.width + self.titleEdgeInsets.left + self.titleEdgeInsets.right, boundingRect.size.height + self.titleEdgeInsets.top + self.titleEdgeInsets.bottom); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This works for me.