關於UILabel的一點使用心得

2021-06-23 09:32:20 字數 1531 閱讀 6678

uilabel經常用到的方法

- (void)sizetofit

- (cgsize)sizethatfits:(cgsize)size

解釋如下:

sizetofit會自動呼叫sizethatfits方法;

sizetofit不應該在子類中被重寫,應該重寫sizethatfits

sizethatfits傳入的引數是receiver當前的size,返回乙個適合的size

sizetofit可以被手動直接呼叫

sizetofit和sizethatfits方法都沒有遞迴,對subviews也不負責,只負責自己

nsstring 

對label有用的方法,如下:

computing metrics for a single line of text(針對單行的文字)

– sizewithfont:

– sizewithfont:forwidth:linebreakmode:

–sizewithfont:minfontsize:actualfontsize:forwidth:linebreakmode:

computing metrics for multiple lines of text(針對多行的文字,這個常用)

– sizewithfont:constrainedtosize:

– sizewithfont:constrainedtosize:linebreakmode:

我們經常會根據label裡面的文字的多少,來計算label的尺寸,例如做微博的cell的時候

我們經常會用「sizewithfont:constrainedtosize:」來獲得size,以此改變label的尺寸

其實,這個可以用label 的「

sizetofit

」來替代,當label呼叫「

sizetofit

」時,會自動改變label本身的尺寸,所以這個方法是沒有返回值的。如果對「」的計算不滿意,可以繼承uilabel來自定義label,同時重寫label的「

sizethatfits:

」方法,這樣自定義label的「

sizetofit

」行為就會被改變。

uilabel有兩個介面是專門用來重寫,以此來自定義自己的label,如下:

drawing and positioning overrides

– textrectforbounds:limitedtonumberoflines:

– drawtextinrect:

上面這兩個方法不是用來呼叫的,只適合被uilabel子類重寫

– textrectforbounds:limitedtonumberoflines:

用來改變label裡面文字展示視窗的大小,你可以自己根據文字的多少,來計算視窗的大小

– drawtextinrect:

在繪圖環境實現文字的繪製,這個方法裡面裡面已經配置好了繪圖環境,使用方式如下:

1.直接獲得當前繪圖上下文,

2.接著更改繪圖環境設定

3.在就是呼叫super方法來繪製即可

關於UILabel的一點使用心得

參考 uilabel經常用到的方法 void sizetofit cgsize sizethatfits cgsize size 解釋如下 sizetofit會自動呼叫sizethatfits方法 sizetofit不應該在子類中被重寫,應該重寫sizethatfits sizethatfits傳入...

關於SSI的一點使用心得

使用ssi server side include 指令中的 include,asp包含檔案的寫法是這樣的 在html中,寫 file和virtual的區別在於file使用相對路徑,而virtual是你的web站點內虛擬目錄的完整虛擬路徑,比如 就表示包含當前檔案所在的虛擬目錄路徑下面的inc目錄下...

關於UILabel自適應size的一點小總結

非常簡單,設定這個屬性就可以了 label adjustsfontsizetofitwidth yes 純 計算內容size cgsize s str boundingrectwithsize cgsizemake 200,maxfloat options nsstringdrawingusesli...