2012-01-22 23 views
0

ナビゲーションバーに表示されるタイトルテキストを中央揃えにすることはできません。一般的には、しかし、特に私は左のボタンの項目を追加する場合は、タイトルのテキストが右にシフトします。ナビゲーションバーにタイトルテキストを中央揃えすることはできません

私はセグメント化されたコントロールを持っており、ユーザーがタイトルのテキストを変更することができるセグメントを選択すると、そのセグメントの1つで左のボタンが表示され、ユーザーが別のセグメントを選択すると消えます。私は明示的にself.navigationItem.titleView.centerを設定する実験を試みた

- (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; 
} 

、またはビューの中心に、またはナビゲーションバーの中央にそれのどれも:タイトルを追加するためのコードがあります何か違いがあります。

+0

スクリーンショットを見てみましょう。 –

答えて

0

これは、この問題の原因となるleftBarButton、backButton、またはrightBarButtonのような他のビューがある可能性があるために発生します。実際にはnavigation barの完全な幅である幅320.0fのラベルを作成しています。あなたはあなたのラベルの幅からナビゲーションバーの他のビューのサイズを差し引く必要があり、それはあなたのために動作します。

+0

戻るボタンの幅を取得する方法を説明できますか? – MindSpiker

関連する問題