搜尋此網誌

工商服務

2013年9月9日 星期一

[元件秘技]如何在 UIButton 按鈕上顯示多行文字?

↑ Button1 無法正確斷行, Button2 則可以。

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


───
奇步應用的臉書粉絲專頁經常分享新知趣聞,歡迎加入追蹤。

沒有留言:

張貼留言

Related Posts Plugin for WordPress, Blogger...