2012-04-08 55 views

答えて

3

nevan king is right ナビゲーションバーの背景画像を変更するか、またはnilに設定するだけです。これをnilに設定するか透明なBG画像を提供すると、必要な効果を得ることができます。 iOS版> = 5.0の場合

あなたは単に外観を設定できます。

if([navigationBar respondsToSelector:@selector(setBackgroundImage:forBarMetrics:)]) // needed if iOS older than 5.0 is also supported 
    [navigationBar setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault]; 

あなたはあなたのナビゲーションバーへのポインタを持って今までにどこがあることを行うことができます。例えば。あなたのViewControllerviewDidLoadメソッドの中にあります。あなたはすべてのiOSバージョンをサポートしたい場合はどちらの方法に互換性がある

@implementation UINavigationBar (BackgroundImage) 
- (void)drawRect:(CGRect)rect { 
    UIImage *image = [UIImage imageNamed: @""]; 
    [image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)]; 
} 
@end 

:あなたはUINavigationBarカテゴリすることにより回避策を必要とdrawRect方法を上書き古いiOSのバージョンについては


したがって、バックボタンは同じ背景イメージを使用することに注意してください。だからカスタムを作る必要があります。

UIImage *bgImageNormal = [UIImage imageNamed:@"backButtonImage.png"]; 

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; 
[button setBackgroundImage: bgImageNormal forState:UIControlStateNormal]; 

button.frame= CGRectMake(0.0, 0.0, bgImageNormal.size.width, bgImageNormal.size.height); 
[button addTarget:self action:@selector(navigationBarBackButtonTouchUpInside:) forControlEvents:UIControlEventTouchUpInside]; // your action method here 

UIBarButtonItem *closeButton = [[UIBarButtonItem alloc] initWithCustomView:button]; 
self.navigationItem.leftBarButtonItem = closeButton; 
[closeButton release]; 

このコードは、ナビゲーションバーにプッシュしているViewControllerごとに実装する必要があります。そのための良い場所はviewDidLoadメソッドの中にもあります。

+0

これは私のソリューションです。最初のコードはどこですか?ビューでロードしましたか? – Acunamatata

+0

私はコードの推奨場所で答えを更新しました。 iOS 5のメソッドとカスタム戻るボタンは、navBarまたはそれにプッシュしているviewControllerにアクセスできる場所であればどこにでも配置できます。 iOS 5以前の回避策は、独自のカテゴリのUINavigationBarに実装する必要があります。 – yinkou

0

戻るボタンはナビゲーションバーで作成され、常にその一部分ですので、不可能です。ユーザーが画面に触れたときにナビゲーションバーを非表示にしたり再表示することができます(これは、写真アプリを1つ見たときの写真アプリのことです)。または、ボタンを作成して画面の左上に恒久的に表示します。また、ナビゲーションバーを部分的に透明にして、下のコンテンツが表示されるようにすることもできます。

+0

ナビゲーションバーのゴミ箱の影を消したいのですが...可能でしょうか – Acunamatata

+0

どちらの影?私には聞こえません。 –

+0

iOS 5を使用している場合は、ナビゲーションバーの外観をカスタマイズできます。 WWOSセッション114ビデオ、またはiOS 5ドキュメントの「UIKitコントロールのカスタムアピアランス」をご覧ください:https://developer.apple.com/library/ios/#releasenotes/General/WhatsNewIniPhoneOS/Articles/iOS5.html#//apple_ref/doc/uid/TP30915195-SW1 –

関連する問題