iOS StatusBar状态栏文字颜色更改

1、将单个页面的StatusBar文字颜色改为白色,动态更改也可以在这里设置

-(UIStatusBarStyle)preferredStatusBarStyle {
    return UIStatusBarStyleLightContent;
}

2、将所有页面的StatusBar文字颜色改为白色

  plist文件中View controller-based status bar appearance 设置为 NO

  在这种情况下,将单个页面的文字颜色更改为黑色

-(void)viewWillAppear:(BOOL)animated {
    [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleDefault;
}

-(void)viewWillDisappear:(BOOL)animated {
    [super viewWillDisappear:animated];
    [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleDefault;
}

3、scrollView滑动更改StatusBar的文字颜色

-(void)scrollViewDidScroll:(UIScrollView *)scrollView {
    _offsetY = scrollView.contentOffset.y;
    [self setNeedsStatusBarAppearanceUpdate];   //更新statusBar颜色,调用preferredStatusBarStyle
}

- (UIStatusBarStyle)preferredStatusBarStyle {
    if (_offsetY <= 136) {
        return UIStatusBarStyleLightContent;
    }
    return UIStatusBarStyleDefault;
}

原文地址:https://www.cnblogs.com/grein/p/8036222.html

时间: 2024-08-06 18:43:46

iOS StatusBar状态栏文字颜色更改的相关文章

IOS8状态栏文字颜色问题

iOS8下面状态栏文字颜色变白:首先,设置Info.plist中的View controller-based status bar appearance为YES.其次 在appdelegate 中的didfinishlaunching中  加入  OC: [[UINavigationBar appearance] setBarStyle:UIBarStyleBlack];  swift: UINavigationBar.appearance().barStyle = UIBarStyle.Bla

iOS搜索时状态栏文字颜色修改

问题1:使用UISearchDisplayController搜索时状态栏变黑 解决方案:参考参考文献1的方法将导航控制器的view的背景改为[self.navigationController.view setBackgroundColor:[UIColor whiteColor]];或者搜索条的颜色 问题2:问题1的解决方案可能会导致在iPhone5s上搜索时字体为白色,导致看不清楚状态栏上的时间.电量 解决方案:实现UISearchDisplayDelegate里的两个方法,将要搜索时将状

iOS之 状态栏字体颜色的设置

前一段时间接手一个项目后,熟悉的过程中发现了不少问题,其中有一个就是关于状态栏的问题. 我们都知道:状态栏字体颜色在不同界面不一样的,原因是系统设置的时候把状态栏的字体颜色的界面控制器设置的yes. 那么问题来了,如果我自定义了导航栏,而状态栏的字体颜色是希望统一颜色,怎么办? 方法一:我们可以一个界面一个界面的去设置,因为apple已经给出了系统方法: //默认的值是黑色的 -(UIStatusBarStyle)preferredStatusBarStyle { return UIStatus

iOS 修改状态栏字体颜色(亲测,好用)

有时候我们需要根据不同的背景修改状态栏字体的颜色,我的方法比较复杂,如果有更好用的方法欢迎大家提出来,我会持续更新的.#方法一1.首先是设置info.plist 文件: 将View controller-based status bar appearance 的值设置为NO.2.在AppDelegate.m 的方法中如下设置,默认会显示黑色等于为你的app状态栏设置一个主颜色 - (BOOL)application:(UIApplication *)application didFinishLa

iOS 更改状态栏文字颜色

第一步:在info.plist中添加一个字段:view controller -base status bar 设置为NO 第二步: 在AppDelegate.m的 didFinishLaunchingWithOptions 中添加 [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:NO];     // 白色  [[UIApplication sharedAppl

iOS开发-修改状态栏文字颜色

首先targets-->info -->设置UIViewControllerBasedStatusBarAppearance 为NO 然后在需要改变状态栏颜色的 AppDelegate中在 didFinishLaunchingWithOptions 方法中增加: [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent]; 只要这两步  搞定!

iOS 设置状态栏的颜色

1.在plist文件中设置如下属性: 2.在delegate中设置 [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent]; UINavigationBar *bar = [UINavigationBar appearance]; [bar setBarStyle:UIBarStyleBlackOpaque];

iOS 系统状态栏UIStatusBar颜色的处理

//显示为黑色 if (SYSTEM_VERSION_LESS_THAN(@"7")) { [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackTranslucent animated:NO]; } else { [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault animated:NO];

iOS statusBar 状态栏定制

1 UIWindow * statusWindow = [[UIWindow alloc] initWithFrame:[UIApplication sharedApplication].statusBarFrame]; 2 [statusWindow setWindowLevel:UIWindowLevelStatusBar + 1]; 3 [statusWindow setBackgroundColor:[UIColor clearColor]]; 4 5 UILabel * statusL