專案中遇到了要讓按鈕上的文字換行顯示的需求,就寫了這個部落格。
1.如果按鈕上的文字固定,形式是寫死的,可以考慮給標題文字加\n換行符來達到效果,但是,記得一定要設定這個屬性,不然是不會換行的,
nsstring * titlestr = @"換行\n顯示";
uibutton * button = [uibutton new];
button.backgroundcolor = [uicolor orangecolor];
button.frame = cgrectmake(100, 100, 60, 40);
button.titlelabel.font = [uifont systemfontofsize:13];
[button settitle:titlestr forstate:uicontrolstatenormal];
[self.view addsubview:button];
這樣的顯示效果是這樣的:
2.如果你按鈕上的文字是動態的,想讓他到達乙個邊界值後自動換行,可以使用下面的方法。
先計算出標題文字在規定的最大寬度的size值,然後根據他設定按鈕的寬和高就行了,**如下:
nsstring * titlestr = @"換行顯示換行顯示換行顯示換行顯示換行顯示換行顯示換行";
uibutton * button = [uibutton new];
button.backgroundcolor = [uicolor orangecolor];
button.titlelabel.font = [uifont systemfontofsize:13];
[button settitle:titlestr forstate:uicontrolstatenormal];
cgrect labeltitlesize = [titlestr boundingrectwithsize:cgsizemake(100, 1000) options:nsstringdrawinguseslinefragmentorigin attributes:@ context:nil];
button.frame = cgrectmake(100, 100, labeltitlesize.size.width+10, labeltitlesize.size.height+10);
[self.view addsubview:button];
這樣的顯示效果是這樣的:
iOS上如何讓按鈕文字左對齊問題
原文 button.titlelabel.textalignment nstextalignmentleft 這句無效 button.contenthorizontalalignment uicontrolcontenthorizontalalignmentleft button.titleedge...
IOS 改變導航欄返回按鈕的標題例項詳解
ios 改變導航欄返回按鈕的標題例項詳解 前言 下午又找到了乙個新的方法 這個方法不錯 暫時沒有發現異常的地方。新寫的app中需要使用uin igationcontroller對各個頁面進行導航,但由於第一級頁面的title較長,在進入第二級頁面後返回按鈕leftbuttonitem的title就會...
讓DedeCMS的欄目頁標題顯示頁碼數
在列表頁的標題上中上頁數使列表頁的標題不重複這樣更利於優化。標籤為 例項 第頁 只適用於列表頁,且該欄目內容不止一頁的情況下,可使用版本包括dedecms v5.1至v5.6。v5.7未測試。測試過的朋友可以說下管用不。修改php的方法為 dedecms修改列表頁標題成 列表名 第xx頁 需要修改i...