我在UITableViewCell中有一個UILabel。 UILabel的高度取決於使用自動佈局約束的UITableViewCell的高度。 UILabel的寬度是176.0
並且是固定的。錯誤的CGRect for boundingRectWithSize:options:attributes:context:
我使用boundingRectWithSize:options:attributes:context:
作爲UILabel中的文本來確定UITableViewCell的高度。
這裏是展示接口建設者
的UILabel配置這是代碼即可獲得boundingRect爲的UILabel文本的截圖。
NSString *text = @"Extra long goods charge";
CGSize maxSize = CGSizeMake(176.0f, MAXFLOAT);
CGRect rect = [text boundingRectWithSize:maxSize
options:NSStringDrawingUsesLineFragmentOrigin
attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:16.0]}
context:nil];
返回的大小是152.132813, 18.1796875
,但這個矩形是沒有大到足以容納Extra long goods charge
文本。事實上,即使大小爲176, 18
的矩形也不能包含此文本。
我的猜測是,我以某種方式與使用boundingRectWithSize
1.如何更改界面構建器中的任何內容將影響由boundingRectWithSize返回的大小: 2.問題是由boundingrectwithSize返回的大小太小。我嘗試在界面生成器中使用這個尺寸作爲UILabel的框架大小,並且我無法適應文本。 – db42 2014-08-28 05:35:07
「不能包含文本」,如「...」帶有不完整文本? – 2014-08-28 05:46:13
核心問題 - http://stackoverflow.com/questions/25562838/weird-behaviour-of-boundingrectwithsizeoptionsattributescontext – db42 2014-08-29 06:39:07