首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

iOS 9.0中不推荐使用'statusBarStyle‘的设置器:使用-[UIViewController preferredStatusBarStyle]

在iOS 9.0中,不再推荐使用'statusBarStyle'的设置器来定义状态栏的样式,而是推荐使用-[UIViewController preferredStatusBarStyle]方法来实现。

'statusBarStyle'是一个旧的属性,用于定义整个应用程序中状态栏的样式。然而,在iOS 9.0及更高版本中,苹果官方建议使用新的方法-[UIViewController preferredStatusBarStyle]来动态地设置每个视图控制器的状态栏样式。

-[UIViewController preferredStatusBarStyle]是一个视图控制器的方法,用于返回所需的状态栏样式。它应该在每个视图控制器中被重写,以根据视图控制器的内容动态地定义状态栏样式。

通过重写preferredStatusBarStyle方法,您可以根据当前视图控制器的需求返回不同的状态栏样式。这种灵活性使得在不同的视图控制器之间更容易地切换状态栏样式。

使用preferredStatusBarStyle方法的优势包括:

  1. 灵活性:您可以根据不同的视图控制器需求设置不同的状态栏样式,而不是全局统一设置。
  2. 动态性:状态栏样式可以随着视图控制器的变化而自动更新。
  3. 可读性:通过在每个视图控制器中重写该方法,使代码更具可读性和维护性。

应用场景:

  1. 在一个应用程序中使用多个视图控制器,并希望每个视图控制器都有不同的状态栏样式。
  2. 基于应用程序的特定需求,在不同的视图控制器之间动态地切换状态栏样式。

推荐的腾讯云相关产品和产品介绍链接地址:

  1. 云服务器(CVM):腾讯云服务器(CVM)是基于腾讯云提供的高性能、可扩展的虚拟服务器,可满足各种计算需求。了解更多:https://cloud.tencent.com/product/cvm
  2. 云数据库 MySQL 版:腾讯云数据库 MySQL 版是一种可扩展的关系型数据库服务,适用于各种规模的应用程序。了解更多:https://cloud.tencent.com/product/cdb_mysql
  3. 腾讯云 CDN:腾讯云 CDN 是一项分布式网络加速服务,可提供快速的内容传输和传递。了解更多:https://cloud.tencent.com/product/cdn

请注意,以上仅为示例,您可以根据自己的需求选择适合的腾讯云产品。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

iOS 知识小集(Status Bar变换)

iOS 7以前 在iOS 7之前,状态栏是不占视图位置。每个控制根view都是从屏幕Y轴20px处开始显示。...iOS 7以前状态栏设置 从API来看,那时候也是支持在代码里修改状态栏样式以及显示和隐藏。只是因为状态栏对整个APP影响不大,所以一般在plist里设置好后,用不着再去修改了。 ?...plist设置 然后在视图控制中,重写如下三个方法即可: ?...例如,我想要在这个界面时状态栏为白色,状态栏隐藏,那么我只用重写-preferredStatusBarStyle,like this: - (UIStatusBarStyle)preferredStatusBarStyle...效果gif iOS 9 之后 如上面第二张图所示,UIApplication控制状态栏方法,在iOS 9之后被弃用了。 所以iOS 9之后尽量使用重写ViewController方法方式吧。

1.3K21
  • iOS-UIApplication详解iOS-UIApplication详解

    以后我们需要创建通知才能实现图标右上角提醒,iOS8之前直接设置applicationIconBadgeNumber值即可。...提醒效果图 设置联网指示可见性 @property(nonatomic,getter=isNetworkActivityIndicatorVisible) BOOL networkActivityIndicatorVisible...联网指示显示效果图 管理状态栏 从iOS7开始,系统提供了2种管理状态栏方式 a.通过UIViewController管理(每一个UIViewController都可以拥有自己不同状态栏)在iOS7...)preferredStatusBarStyle; 状态栏可见性  -(BOOL)prefersStatusBarHidden; #pragma mark-设置状态栏样式 -(UIStatusBarStyle...]; //设置状态栏样式 //app.statusBarStyle=UIStatusBarStyleDefault;//默认(黑色) //设置为白色+动画效果 [app setStatusBarStyle

    1.6K70

    iOS状态栏使用总结

    目录: 一、状态栏与导航栏 二、设置状态栏显隐与字体样式 三、设置状态栏背景色 四、启动页隐藏状态栏 五、状态栏、导航栏相关常用宏定义 相关文章:iOS导航栏使用总结 一、状态栏与导航栏 状态栏...此时全局设置操作都是无效,需要分页设置才能修改其样式,即:在每个视图控制或者控制基类中使用如下代码: - (UIStatusBarStyle)preferredStatusBarStyle {...//return NO; //设置状态栏显示 } 但是,这里存在一个问题:如果当前视图控制是UINavigationController子视图控制preferredStatusBarStyle...这是因为导航控制preferredStatusBarStyle才具有修改状态栏样式能力,解决这个问题方法有两种: 方法1:添加子类导航控制 我们需要使用自定义子类导航控制,在其中添加如下代码...: - (UIStatusBarStyle)preferredStatusBarStyle { UIViewController *topVC = self.topViewController;

    1.9K30

    iOS12、iOS11、iOS10、iOS9常见适配

    ; 复制代码 在Storyboard使用Safe Area最低只支持iOS9,iOS8用户就要放弃了 当UIViewController调用- (void)viewDidLoad时它所有子视图...// 方式一:(推荐)修改额外安全区域 if (@available(iOS 11.0, *)) { self.additionalSafeAreaInsets = UIEdgeInsetsMake...使用prefs:root=bundleID ,bundleID是你第三方应用工程唯一ID [x] iOS系统版本 >= iOS10,支持跳转到自己应用设置,不支持跳转到系统设置 3.5、字体变化 苹果默认字体会随着.../ 修改状态栏样式为白色 // 'setStatusBarStyle(_:animated:)' was deprecated in iOS 9.0: Use -[UIViewController preferredStatusBarStyle...: .fade) 复制代码 用下面两个方法替换 -[UIViewController preferredStatusBarstyle] -[UIViewController preferredStatusBarHidden

    2.1K31

    UIApplication

    3、一个ios程序启动后创建第一个对象就是UIApplication对象 4、UIApplication常见属性: //设置应用程序图标右上角红色提醒数字 @property(nonatomic...) NSInteger applicationIconBadgeNumber; //设置联网指示可见性 @property(nonatomic, getter=isNetworkActivityIndicatorVisible...) BOOL networkActivityIndicatorVisible; 5、从ios7开始,系统提供了2中管理状态栏方式     1)通过UIViewController管理(每一个UIViewController...都可以拥有自己不同状态栏)          在ios7中,默认情况下,状态栏都是由UIViewController管理,实现下列方法就可以轻松管理状态栏可见性和样式          - (UIStatusBarStyle...管理(一个应用程序状态栏都由它统一管理)         使用UIApplication来管理状态栏,先修改info.plist设置:View controller-based status bar

    54930

    模拟京东首页导航条渐变

    思路:使用UIView创建自定义导航条,然后在自定义UIView进行操作 隐藏导航条: - (void)viewWillAppear:(BOOL)animated{ [super viewWillAppear...(offset.y)值 如图我们可以发现,往下滑动时候,tableViewoffset.y一直在递增 思路:tableViewoffset.y 一直在变化,根据这个偏移量,动态设置导航条透明度...; } else{ //默认导航条样式 _statusBarStyle = UIStatusBarStyleDefault; }...//设置状态栏刷新 [self setNeedsStatusBarAppearanceUpdate]; } //设置顶部状态栏颜色 -(UIStatusBarStyle)preferredStatusBarStyle...{ return _statusBarStyle; } 顶部工具条样式变化演示.gif 5.透明度变化时候,图片 && 搜索框之类透明度也跟着变化,不符合要求 对比京东Demo,发现问题所在

    2.6K90

    iOS开发之iOS10适配

    1144.17,在iOS 10(Xcode 8)中,苹果补充了缺少数字,设置有未来版本....122816-135f4a89ba4b0ee5.png 这是因为iOS对用户安全和隐私增强,在申请很多私有权限时候都需要添加描述,但是,在使用Xcode 8之前Xcode还是使用系统权限通知框...(10_0); 五、真彩色显示 真彩色显示会根据光感应来自动调节达到特定环境下显示与性能平衡效果,如果需要这个功能的话,可以在info.plist里配置(在Source Code模式下):...但是我们可以选择使用NSExceptionDomains设置白名单方式对特定域名开放HTTP内容来通过审核,比如说你应用集成了第三方登录分享SDK,可以通过这种方式来做,下面以新浪SDK作为示范...(UIStatusBarStyle)preferredStatusBarStyle{ return UIStatusBarStyleDefault; } ps: 上面这个新方法在UIViewController.h

    1.4K20

    iOS适配

    iOS7适配 状态栏设置 首先,需要在Info.plist配置文件中,增加键:UIViewControllerBasedStatusBarAppearance,并设置为YES; 然后,在UIViewController...里面调用才起作用 iOS8适配 SDK 里面的某些API不能在iOS8下使用 如果,你老项目在iOS8下运行,打开就闪退(iOS8之前没问题),那么“恭喜你”,你中招了,比如下面我遇到,是因为旧版本高德地图引用了...下用这样方式,你会发现无法定位,那是因为iOS8下添加了新方法 //表示使用应用程序期间 开启定位 - (void)requestWhenInUseAuthorization //表示始终...(或者NSLocationAlwaysUsageDescription) 对应文字会在第一次请求用户同意定位时候出现,还有 设置 > 隐私 > 定位 > your app 里面也会看到 iOS8 下注册通知改变...如果你在iOS 8 里面使用UIActionSheet and UIAlertView 可能会出现一些很奇怪问题,建议在iOS 8 里面使用UIAlertController,iOS 8 之前使用UIActionSheet

    95110

    两步设置状态栏字体颜色

    第一种方法:(如果在NavigationController中需做些设置,后文会提到) // 设置状态栏颜色为白色 - (UIStatusBarStyle)preferredStatusBarStyle...    [application setStatusBarStyle:UIStatusBarStyleLightContent]; 补充: 第二种方法是在iOS9之前使用iOS9之后就不被建议使用了...至于第一种方法,也是有局限性,就是当在NavigationController中此方法是不被调用,需要使用方法: // 设置状态栏前景色为白色 self.navigationController.navigationBar.barStyle...= UIBarStyleBlack; 如果此时导航栏上颜色不是我们所想要我们可以利用下面的方法设置导航栏颜色: // 设置导航栏颜色为黑色     [self.navigationController.navigationBarsetBarTintColor...preferredStatusBarStyle]; } 然后再在当前控制中重写preferredStatusBarStyle方法。

    1.8K10

    NavigationBar&tabBar调色那些事儿1. 导航栏调色那些事儿2. 标签栏TableBar那些事儿

    = [UIColor blueColor]; //如果使用是backgroundColor,就会自带毛玻璃效果 self.navigationBar.backgroundColor = [UIcolor...iOS 7 NavigationBar下方默认是有一条阴影,如果想要 NavigationBar 和下面内容背景颜色融为一体的话,就要去掉这个阴影。...iOS7以后,status bar 背景颜色变成了透明色,而且系统会根据 app颜色自动改变 status bar 字体颜色(黑和白)。...,在全局导航栏控制下面还需要增加以下方法: - (UIViewController *)childViewControllerForStatusBarStyle{ return self.topViewController...标签栏TableBar那些事儿 2.1 调色 可以完全参考导航栏,几乎雷同。 2.2 关闭半透明效果 一旦关闭标签栏半透明效果,控制view就不会到达屏幕最底部了,而是到了标签栏紧上方。

    1.5K50

    iOS14开发-入门知识

    还可以在普通电脑上装一个黑苹果系统(推荐),安装复杂且不稳定。 开发软件 iOS 使用 Xcode 工具进行开发。...Media 层主要包括了各种媒体文件处理,通过它我们可以在应用程序中使用各种媒体文件,进行音频与视频录制,图形绘制,以及制作基础动画效果。...模拟 ? 模拟.png App初始化流程 AppDelegate 程序入口@main(iOS 14 以前是 @UIApplicationMain)。...AppDelegate —> SceneDelegate 在 SceneDelegate willConnectToSession中纯代码初始化 UIWindow,并设置显示第一个控制。...UIView与UIViewController 初步印象 iOS 开发中,一个界面就是一个 UIViewController(视图控制),界面上显示内容就是 UIView(视图)。

    2.9K40

    iOS状态栏设置

    状态栏配置 iOS状态栏设置有两种方式 这两种方式是根据UIViewControllerBasedStatusBarAppearance也就是View controller-based status...bar appearance不同有相应设置 如果添加UIViewControllerBasedStatusBarAppearance配置,那么默认值为YES UIViewControllerBasedStatusBarAppearance...配置,ViewController配置生效 也可以在Info.plist添加默认状态栏样式 Status bar style设置为UIStatusBarStyleLightContent或UIStatusBarStyleDefault...() } 弊端 但这种配置有个弊端 就是 如果你ViewController在NavigationController中,那么直接在ViewController设置生效,只能在NavigationController...中设置 所以如果你用Storyboard中配置NavigationController话,就必须为NavigationController添加一个自定义类,就稍显麻烦了,所以并不推荐用这种方式设置

    2.7K11

    iOS UI 开发捷径 利用 Interface Builder 高效、优雅地开发 UI》 读书笔记第1章 Interface Bundle 概要第2章 使用 Interface Builder第3

    View 连线 xib 既可以与 UIView 关联,也可以与 UIViewController 关联,也可以同时关联 UIView 与 UIViewController 使用 xib 通过 Bundle...UIView view.addSubview(testView) } 使用UIViewController 子类源文件关联 xib Demo HomeViewController.swift...第4章 在 Interface Builder 中使用 Auto Layout ---- 在 IB 中使用 Auto Layout 优缺点 设置约束十分简单 如果约束恰当,IB 提供很好实时反馈...压缩阻力 Content Hugging 内容吸附 NSLayoutConstraint 与 @IBOutlet 连线 设置约束方法 在 IB 中设置 - 推荐 苹果原生 API - 最复杂,强烈推荐...用 VFL (Visual Format Language) 设置约束 - 推荐 第三方库(Masonry等)设置约束 - 代码设置最简单、最常用 推荐(如果不熟悉 Auto Layout) UIStackView

    2.5K80
    领券