7

アプリデリゲートに次のコードを追加して、矢印のカスタム画像をナビゲーションバーに設定しました。動作しますが、戻るボタンのテキストを完全に削除しようとしています。

UIImage * backButtonImage = [UIImage imageNamed: @"BackButtonGrey.png"];
backButtonImage = [backButtonImage stretchableImageWithLeftCapWidth: 15.0 topCapHeight: 30.0];
[[UIBarButtonItem appearance]  setBackButtonBackgroundImage: backButtonImage  forState: UIControlStateNormal  barMetrics: UIBarMetricsDefault];
4

8 に答える 8

9

開発者がテキストのオフセットを調整して非表示にすることは、良い習慣だとは思いません。

よりクリーンな解決策は、タイトルが空の文字列である新しいボタンをナビゲーション コントローラーの戻るボタンに追加することです。これを、viewWillAppear (現在のものではない) の以前の呼び出し元のビュー コントローラーに追加する必要があります。

UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStylePlain target:nil action:nil];
self.navigationItem.backBarButtonItem = backButton;
于 2014-07-21T14:51:31.260 に答える
6
[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(-100.f, 0) forBarMetrics:UIBarMetricsDefault];
于 2013-10-23T07:20:08.783 に答える
5

私はちょうどこのようにそれをやった、私のためにうまくいった:-)

UIImage *backButtonImage = [UIImage imageNamed:@"navigationBarBack.png"];
UIButton *backButton = [UIButton buttonWithType:UIButtonTypeCustom];

[backButton setImage:backButtonImage
            forState:UIControlStateNormal];

backButton.frame = CGRectMake(0, 0, backButtonImage.size.width, backButtonImage.size.height);

[backButton addTarget:self
               action:@selector(popViewController)
     forControlEvents:UIControlEventTouchUpInside];

UIBarButtonItem *backBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:backButton];
self.navigationItem.leftBarButtonItem = backBarButtonItem;
于 2013-05-11T20:16:41.383 に答える
0
UIBarButtonItem *newBackButton =
[[UIBarButtonItem alloc] initWithTitle:@""
                                 style:UIBarButtonItemStylePlain
                                target:nil
                                action:nil];
[[self navigationItem] setBackBarButtonItem:newBackButton];
于 2015-09-21T09:22:52.310 に答える
-1

グローバルに完璧なソリューション

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

    UIBarButtonItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName:UIColor.clearColor()], forState: UIControlState.Normal)
    UIBarButtonItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName:UIColor.clearColor()], forState: UIControlState.Highlighted)

    return true
}
于 2016-03-31T02:54:26.977 に答える