48

アプリのナビゲーション バーの [戻る] ボタンのフォントを設定できるようにしたいと考えています。

現在、これを使用しviewDidAppear:て通常のバー ボタン アイテムのフォントを設定しています。

for (NSObject *view in self.navigationController.navigationBar.subviews) {
    if ([view isKindOfClass:[UIButton class]]) {
        [((UIButton*)view).titleLabel setFont:[UIFont 
                                 fontWithName:@"Gill Sans" 
                                         size:14.0]];
    }
}

UIViewControllerただし、このコードが適用される場所 (ルート、現在など)に関係なく、戻るボタンは変更されません。

4

8 に答える 8

6

これを完全に機能させることができなかった人のために、IOS7 のルート ViewController にポップバックするなど、私が行った方法を次に示します。

UIBarButtonItem *backBtn =[[UIBarButtonItem alloc]initWithTitle:@"Back" style:UIBarButtonItemStyleDone target:self action:@selector(popToRoot:)];
backBtn.title = @"Back";
[backBtn setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:
                                 [UIFont fontWithName:@"Chalkduster" size:15], NSFontAttributeName,
                                 [UIColor yellowColor], NSForegroundColorAttributeName,
                                 nil]
                       forState:UIControlStateNormal];

self.navigationItem.leftBarButtonItem=backBtn;

popToRoot ViewController:

- (IBAction)popToRoot:(UIBarButtonItem*)sender {
[self.navigationController popToRootViewControllerAnimated:YES];
}

たぶん誰かがこれを使用しているかもしれません。

于 2013-10-16T15:02:51.457 に答える
1

代わりに、AppDelegate または NavigationController が初期化される場所でこれを使用します。メソッドは iOS 5 以降で使用できます。

UIBarButtonItem *backbutton =  [[UIBarButtonItem alloc] initWithTitle:@"back" style:UIBarButtonItemStyleBordered target:nil action:nil];  
[backbutton setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:
                                                   [UIColor blackColor],UITextAttributeTextColor,[UIFont fontWithName:TEXTFONT size:16.0f],UITextAttributeFont,
                                                   nil] forState:UIControlStateNormal]; 
于 2013-05-14T05:09:16.037 に答える