↑ Button1 無法正確斷行, Button2 則可以。
在 UIButton 元件的 Attributes inspector 中,針對「 Title 」欄位插入「 \n 」是行不通的!(如圖中的 Button1 所示)必須從程式碼著手!這意味著首先必須建立該按鈕的 IBOutlet 連線。
- 開啟 Xcode (本例中使用的是 4.6.3 版本,搭配 iOS 6 Simulator )。
- 載入你的專案或者建立新的專案。
- 在 XIB 中放置一顆 UIButton 按鈕。
- 切換成 Assistant editor 這種左右對照模式,然後透過按住 control 鍵搭配拖曳滑鼠游標來建立 .xib 與 .h 之間的連結。假設該按鈕叫做 button2 ,那麼將會在 .h 中看到被自動加入的程式碼:
IBOutlet UIButton *button2;
- 在 .m 的 viewDidLoad() 中,手動新增如下的程式碼:
button2.titleLabel.lineBreakMode = NSLineBreakByWordWrapping; [button2 setTitle:@"Button2 with\nmulti-line text" forState:UIControlStateNormal];
第 1 行很重要,設定斷行的原則是以字詞為單位( NSLineBreakByWordWrapping 是 iOS 6 之後才有的,之前是 UILineBreakModeWordWrap ),缺少了這行的話,將依舊無法正確斷行;而第 2 行才是設定按鈕要顯示的標題文字。
───
奇步應用的臉書粉絲專頁經常分享新知趣聞,歡迎加入追蹤。
沒有留言:
張貼留言