iOS7之後計算字串高度

2021-07-22 16:45:01 字數 1579 閱讀 3690

ios7之前計算字串長寬的方法是:

- (cgsize)sizewithfont:(uifont *)font constrainedtosize:(cgsize)size linebreakmode:(nslinebreakmode)linebreakmode ns_deprecated_ios(2_0, 7_0, "use -boundingrectwithsize:options:attributes:context:") __tvos_prohibited; // nstextalignment is not needed to determine size

不過在ios7之後就過時了,有新的方法替換它。

下面是把ios7的新方法封裝成uilabel的類目以方便實用:

標頭檔案:

//

// nsstring+framesize.h

// xcode7test

//// created by 於建祥 on 16/9/13.

//#import @inte***ce nsstring (framesize)

- (cgsize)boundingrectwithsize:(cgsize)size andfont:(uifont *)font;

@end

實現檔案: 

//

// nsstring+framesize.m

// xcode7test

//// created by 於建祥 on 16/9/13.

//#import "nsstring+framesize.h"

@implementation nsstring (framesize)

- (cgsize)boundingrectwithsize:(cgsize)size andfont:(uifont *)font

;

cgsize retsize = [self boundingrectwithsize:size

options:\

nsstringdrawingtruncateslastvisibleline |

nsstringdrawinguseslinefragmentorigin |

nsstringdrawingusesfontleading

attributes:attribute

context:nil].size;

return retsize;

}@end

使用時:

cgsize

strsize = [str

boundingrectwithsize

:cgsizemake

(200

, nsintegermax

) andfont

:[uifont

systemfontofsize:14

]];

label.

frame

= cgrectmake(10

, 20

, strsize.

width

, strsize.

height);

計算字串高度 iOS

公共類.h裡 返回自適應高度的文字 cgsize sizewithstring nsstring string font cgfloat font maxwidth cgfloat maxwidth 返回自適應寬度的文字 cgsize sizewithstring nsstring string f...

iOS根據字串計算UITextView高度

ios計算字串高度,有需要的朋友可以參考下。方法一 ios7.0之前適用 method 獲取指定寬度width,字型大小fontsize,字串value的高度 param value 待計算的字串 param fontsize 字型的大小 param width 限制字串顯示區域的寬度 result...

iOS依據字串計算UITextView高度

ios計算字串高度,有須要的朋友能夠參考下。方法一 ios7.0之前適用 method 獲取指定寬度width,字型大小fontsize,字串value的高度 param value 待計算的字串 param fontsize 字型的大小 param width 限制字串顯示區域的寬度 result...