iOS 根據按鈕的內容設置寬度

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;  
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容