2017-02-06 2 views
0

ナビゲーションバーの[戻る]ボタンをカスタマイズするために、次のコードを実行しました。元の画像を設定する際に問題に直面しています。バーティントの色が何であれ、同じ色がその画像にも適用されます。しかし、Objective-Cのナビゲーションバーに私の元の画像が必要です。ナビゲーションバーの[戻る]ボタンに色分けされたカスタマイズ可能なイメージを設定するには?

[self.navigationController.navigationBar setTintColor:[UIColor whiteColor]]; 
UIImage *image = [UIImage imageNamed:@"logoHeader"]; 
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithImage:image style:UIBarButtonItemStyleDone target:self action:nil]; 

self.navigationItem.leftBarButtonItem = backButton; 
+1

initWithCustomView方法設定カスタムビューを参照してください、私の場合で働いています。 http://stackoverflow.com/help/someone-answersとhttp://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235をご覧ください。これにより、あなたとその投稿者の評判が高まります。 –

答えて

1

imageWithRenderingModeを使用して元のイメージを取得します。

UIImage *image = [[UIImage imageNamed:@"logoHeader"] imageWithRenderingMode: UIImageRenderingModeAlwaysOriginal]; 
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithImage:image style:UIBarButtonItemStyleDone target:self action:nil]; 

self.navigationItem.leftBarButtonItem = backButton; 
+0

ありがとう@Nirav D –

+0

@UmaSankarBuddiようこそメイト:) –

-1

これも

UIImage* image1 = [UIImage imageNamed:@"logoHeader"]; 
CGRect frame1img = CGRectMake(0, 0, image1.size.width, image1.size.height);//Or you can set by frame CGRectMake(0, 0, 25, 25); 
UIButton *closeBtn = [[UIButton alloc] initWithFrame:frame1img]; 
[closeBtn setBackgroundImage:image1 forState:UIControlStateNormal]; 
[closeBtn addTarget:self action:@selector(actionToCloseBtn:) 
    forControlEvents:UIControlEventTouchUpInside]; 
UIBarButtonItem *leftBarbutton =[[UIBarButtonItem alloc] initWithCustomView:closeBtn]; 
self.navigationItem.leftBarButtonItem=leftBarbutton; 

は、あなたがあなたを助け答えを受け付けを開始する必要がUIBarButtonItem

+1

これでOPの問題を解決する方法を説明してください。 –

+0

@PaulKertscher私は間違っていますか? 'initWithCustomView'メソッドはカスタムビューを 'leftBarButtonItem'に設定します。 – Bapu

関連する問題