亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在iOS 7中替換已棄用的-sizeWithFont:constrainedToSize:

在iOS 7中替換已棄用的-sizeWithFont:constrainedToSize:

iOS
慕哥6287543 2019-10-16 12:47:58
在iOS 7中,方法:- (CGSize)sizeWithFont:(UIFont *)font     constrainedToSize:(CGSize)size         lineBreakMode:(NSLineBreakMode)lineBreakMode 和方法:- (CGSize)sizeWithFont:(UIFont *)font不推薦使用。我該如何更換CGSize size = [string sizeWithFont:font                 constrainedToSize:constrainSize                     lineBreakMode:NSLineBreakByWordWrapping];和:CGSize size = [string sizeWithFont:font];
查看完整描述

3 回答

?
一只萌萌小番薯

TA貢獻1795條經驗 獲得超7個贊

您可以嘗試以下方法:


CGRect textRect = [text boundingRectWithSize:size

                                 options:NSStringDrawingUsesLineFragmentOrigin

                              attributes:@{NSFontAttributeName:FONT}

                                 context:nil];


CGSize size = textRect.size;

只需將“ FONT”更改為“ [UIFont字體。...]”


查看完整回答
反對 回復 2019-10-16
?
炎炎設計

TA貢獻1808條經驗 獲得超4個贊

這是簡單的解決方案:


要求 :


CGSize maximumSize = CGSizeMake(widthHere, MAXFLOAT);

UIFont *font = [UIFont systemFontOfSize:sizeHere];

現在constrainedToSizeusage:lineBreakMode:在iOS 7.0中已棄用用法:


CGSize expectedSize = [stringHere sizeWithFont:font constrainedToSize:maximumSize lineBreakMode:NSLineBreakByWordWrapping];

現在,在更高版本的iOS 7.0中的用法將是:


// Let's make an NSAttributedString first

NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:stringHere];

//Add LineBreakMode

NSMutableParagraphStyle *paragraphStyle = [NSMutableParagraphStyle new];

[paragraphStyle setLineBreakMode:NSLineBreakByWordWrapping];

[attributedString setAttributes:@{NSParagraphStyleAttributeName:paragraphStyle} range:NSMakeRange(0, attributedString.length)];

// Add Font

[attributedString setAttributes:@{NSFontAttributeName:font} range:NSMakeRange(0, attributedString.length)];


//Now let's make the Bounding Rect

CGSize expectedSize = [attributedString boundingRectWithSize:maximumSize options:NSStringDrawingUsesLineFragmentOrigin context:nil].size;


查看完整回答
反對 回復 2019-10-16
  • 3 回答
  • 0 關注
  • 755 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號