2012-01-22 88 views
0

我無法將導航欄中顯示的標題文本居中。一般來說,如果我添加一個左欄按鈕項目,那麼標題文本會右移。無法在導航欄中居中標題文本

我有一個分段控件,根據用戶選擇標題文本的哪個段可以更改,並且其中一個段會出現一個左欄按鈕,然後在用戶選擇另一個段時消失。添加標題的代碼是:

- (void) setHeader 
{ 
    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 320, 44)]; 
switch (self.filterType) 
{ 
    case filterx: 
     label.text = @"the title": 
     break; 
    // etc. 
} 

label.backgroundColor = [UIColor clearColor]; 
label.font = [UIFont boldSystemFontOfSize:14.0]; 
label.shadowColor = [UIColor colorWithWhite:0.0 alpha:0.5]; 
label.textAlignment = UITextAlignmentCenter; 
label.textColor =[UIColor whiteColor]; 
self.navigationItem.titleView = label; 
} 

我試圖嘗試明確設置self.navigationItem.titleView.center,或到視圖的中心,或在導航欄的中心,但這些方法都有什麼區別。

+0

讓我們來看一個截圖。 –

回答

0

這可能會發生,因爲可能有一些其他視圖,如leftBarButton,backButton或rightBarButton導致此問題。實際上,您正在創建寬度爲320.0f的寬度爲navigation bar的完整寬度的標籤。你需要從你的標籤寬度中扣除導航欄的其他視圖的大小,它會爲你工作。

+0

你能解釋如何獲得後退按鈕的寬度嗎? – MindSpiker