讓我先告訴你,我的要求,計算數量
我都存儲在一個字符串變量strings
說海峽,
NSString *[email protected]"multiple strings";
接下來我想指定上面的字符串將適合的寬度,例如width = 350和fontsize = 16;現在我怎麼才能知道在給定的寬度= 350和字體大小= 15的情況下,文本將佔據多少行(我的意思是行數)
讓我先告訴你,我的要求,計算數量
我都存儲在一個字符串變量strings
說海峽,
NSString *[email protected]"multiple strings";
接下來我想指定上面的字符串將適合的寬度,例如width = 350和fontsize = 16;現在我怎麼才能知道在給定的寬度= 350和字體大小= 15的情況下,文本將佔據多少行(我的意思是行數)
您可以找到繪製所需的大小(因此高度)一個使用UIStringDrawing.h
中的方法之一的字符串。
CGSize maximumSize = CGSizeMake(350, CGFLOAT_MAX);
UIFont *font = [UIFont systemFontOfSize:16];
CGSize size = [str sizeWithFont:font constrainedToSize:maximumSize lineBreakMode:NSLineBreakByWordWrapping];
在這個例子中,使用maximumSize
用於CGFloat
最大可能高度(有效無窮大),和350像素的寬度:繪製成的350像素約束寬度時,該方法會給你的大小。這實際上意味着「通過將寬度限制爲350px來給我這個文本的大小」。
這是什麼350代表?...它會做什麼...我認爲它的約束寬度,但約束寬度的使用是什麼?請清除我的疑問... –
@PKCoder回答編輯明確解釋'constrainedToSize:'參數。 –
...好的,謝謝尼克,會回到你的... :) –
你的意思是如果它是用文字包裝,打破空白? – danh
@ danh..no,只是想知道lines.my的意圖是找到動態的高度與給定的寬度和字體大小... –
NSString提供了一個方法sizeWithFont:你可以在其中傳遞一個字體(如[UIFont systemFontOfSize :16]),但是這會告訴你單線的高度。除非我們知道線條的構成,否則線條的數量不明確。 – danh