2010-02-17 113 views
0

在我的UIViewController設置我的標題動態,所以我不知道會在導航欄中顯示並因爲,我有當前形勢的字符串的長度: alt text http://img94.imageshack.us/img94/2484/picture3vf.pngUINavigationItem標題標籤設置寬度?

有什麼辦法來設置在導航欄中顯示標題的標籤寬度?或者我應該想一個與,比較文本長度,如果它太長,我應該調整它,並顯示着名的「...」?

我知道我可以將UILabel作爲子視圖添加到navigationBar,但我不想使用該解決方案。

謝謝!

回答

0

也許你可以在導航欄中添加一些虛擬按鈕,它們將直接位於按鈕下方。這將顯示正常的文字行爲,但也可以讓你玩你的顏色。

+0

謝謝我現在就試試:) – 2010-02-17 14:28:33

+0

感謝它的工作! – 2010-02-17 14:58:23

0

我不知道你是怎麼做到的。如果我創建導航視圖並設置太長的標題,默認情況下會縮短爲「...」。這些黑色按鈕似乎不是默認按鈕。

+0

它們作爲導航條的子視圖添加,因爲我想將背景顏色更改爲紅色並保留它們黑色。 – 2010-02-17 14:04:05

+0

我不認爲有辦法縮小標籤的寬度。如果你不想使用UILabel作爲子視圖,將只有「jessecurry」-way;) – Shingoo 2010-02-17 14:21:19

0

您可以使用NSString的sizeWithFont方法來知道標籤的大小。請注意,如果您知道標籤寬度不應大於某個值,則可以添加最大尺寸

// Get the size really needed for the label string 
    CGSize expectedLabelSize = [self.text sizeWithFont:self.font    
    constrainedToSize:maximumSize         
    lineBreakMode:self.lineBreakMode];