iOS 7 では、ナビゲーション バーとビューの間にグレーのセパレーターがあります。
iOS 6 に戻ると、その水平線がなかったので、ビューは同じ画像であるかのようにナビゲーション バーと溶け合っていました。いまいち消し方がわからない…
ビュー/ナビゲーション バーのサイズを変更しようとしましたが、解決しません。何か案は?
iOS 7 では、ナビゲーション バーとビューの間にグレーのセパレーターがあります。
iOS 6 に戻ると、その水平線がなかったので、ビューは同じ画像であるかのようにナビゲーション バーと溶け合っていました。いまいち消し方がわからない…
ビュー/ナビゲーション バーのサイズを変更しようとしましたが、解決しません。何か案は?
これを追加:
[[UINavigationBar appearance] setShadowImage:[[UIImage alloc] init]];
アプリケーションのdidFinishLaunchingWithOptionsメソッドのAppDelegate.mで
試してみてください
self.navigationController.navigationBar.translucent = NO;
あなたのviewDidLoad
方法で、私に知らせてください:)
すべての ViewController でこの効果が必要な場合は、次のように簡単に実行できます。
[[UINavigationBar appearance] setTranslucent:NO]
または、ナビゲーション コントローラーを最初にインスタンス化する場所でこれを行う必要があります。たとえば、ナビゲーション コントローラーがアプリのルート ビュー コントローラーである場合は、次のように簡単に実行できます。
UINavigationController *nav = (UINavigationController *)self.window.rootViewController;
nav.navigationBar.translucent = NO;
あなたの
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
反対に、セグエを介してインスタンス化する場合(適切なView Controllerで)
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if([segue.identifier isEqualToString:@"navController"]){
UINavigationController *nav = (UINavigationController *)segue.destinationViewController;
nav.navigationBar.translucent = NO;
}
}
など(実際にコードからインスタンス化する場合は、これが最も簡単なオプションです)。