//ProjectAppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
float version = [[[UIDevice currentDevice] systemVersion] floatValue];
if (version >= 8.0) {
//iOS8でtoolbar naigationbarの透過をオフにする
//iOS7ではsetTranslucentでBOOLを受け付けないのでクラッシュする
[[UINavigationBar appearance] setTranslucent:NO];
[[UIToolbar appearance] setTranslucent:NO];
}
return YES;
}
//ViewController
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
isHidingStatusBar = YES;
//iOS7 ステータスバーの表示/非表示切り替え
//navigationBarHidden toolbarHiddenを呼び出した時にも呼ばれる
[self setNeedsStatusBarAppearanceUpdate];
//iOS7
self.navigationController.navigationBarHidden = YES;
self.navigationController.toolbarHidden = YES;
[self.navigationController.navigationBar setBarTintColor:[UIColor blackColor]];
[self.navigationController.navigationBar setTintColor:[UIColor whiteColor]];
[self.navigationController.navigationBar setTranslucent:YES];
[self.navigationController setNavigationBarHidden:NO];
[self.navigationController.toolbar setBarTintColor:[UIColor blackColor]];
[self.navigationController.toolbar setTintColor:[UIColor whiteColor]];
[self.navigationController.toolbar setTranslucent:YES];
}
- (void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
//[[[UIApplication sharedApplication] keyWindow] tintColor]は変更がない限りデフォルトカラー
[self.navigationController.navigationBar setBarTintColor:[[[UIApplication sharedApplication] keyWindow] tintColor]];
[self.navigationController.navigationBar setTintColor:[[[UIApplication sharedApplication] keyWindow] tintColor]];
[self.navigationController.toolbar setBarTintColor:[[[UIApplication sharedApplication] keyWindow] tintColor]];
[self.navigationController.toolbar setTintColor:[[[UIApplication sharedApplication] keyWindow] tintColor]];
}
//setNeedsStatusBarAppearanceUpdateで呼び出される
- (BOOL)prefersStatusBarHidden {
//ステータスバーの表示/非表示をBoolで指定
return isHidingStatusBar;
}
//setNeedsStatusBarAppearanceUpdateで呼び出される
- (UIStatusBarAnimation)preferredStatusBarUpdateAnimation
{
//アニメーションの設定
return UIStatusBarAnimationFade;
}
2015年2月2日月曜日
[iOS]iOS7以降のStatusbar、Navigationbar、Toolbarのメモ
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿