iOS 根据按钮的内容设置宽度

2017-02-15  本文已影响17人  呦释原点
7.0以前
CGRect mainBounds = [[UIScreen mainScreen] bounds];  
UIFont *font = [UIFont systemFontOfSize:15.0f];  
CGRect locationBtnFrame = self.locationButton.frame;  
  
CGFloat maxWidth = mainBounds.size.width - locationBtnFrame.origin.x;  
CGSize size = CGSizeMake(maxWidth, MAXFLOAT);  
CGSize theStringSize = [theText sizeWithFont:font  
                           constrainedToSize:size  
                               lineBreakMode:self.locationButton.lineBreakMode];  
  
self.locationButton.frame = CGRectMake(locationBtnFrame.origin.x,  
                            locationBtnFrame.origin.y,  
                            theStringSize.width, locationBtnFrame.size.height);
7.0以后
NSString *content = button.titleLabel.text;  
    UIFont *font = button.titleLabel.font;  
    CGSize size = CGSizeMake(MAXFLOAT, 30.0f);  
    CGSize buttonSize = [content boundingRectWithSize:size  
                          options:NSStringDrawingTruncatesLastVisibleLine  | NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading  
                       attributes:@{ NSFontAttributeName:font}  
                                               context:nil].size;  
上一篇下一篇

猜你喜欢

热点阅读