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

iOS13中不推荐使用UIApplication.sharedApplication.statusBarHidden=YES;'statusBarHidden‘

在iOS13中,不推荐使用UIApplication.sharedApplication.statusBarHidden=YES来隐藏状态栏。

在iOS13之前,我们可以使用UIApplication.sharedApplication.statusBarHidden=YES来隐藏状态栏。但是在iOS13中,苹果推荐使用新的方式来管理状态栏的显示和隐藏。

在iOS13中,我们可以通过在Info.plist文件中添加"View controller-based status bar appearance"键,并将其设置为YES来启用基于视图控制器的状态栏外观管理。然后,在每个视图控制器中,我们可以通过重写preferredStatusBarHidden方法来控制状态栏的显示和隐藏。

下面是一个示例代码:

代码语言:txt
复制
class ViewController: UIViewController {
    override var preferredStatusBarHidden: Bool {
        return true // 隐藏状态栏
    }
}

这种方式可以让我们更灵活地控制每个视图控制器的状态栏显示和隐藏,而不是全局设置。

优势:

  • 更灵活:可以根据每个视图控制器的需要来控制状态栏的显示和隐藏。
  • 更符合设计规范:可以根据不同的界面需求来调整状态栏的显示方式,提升用户体验。

应用场景:

  • 当某个视图控制器需要隐藏状态栏时,可以使用preferredStatusBarHidden方法来实现。

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

  • 腾讯云移动应用分析(MTA):https://cloud.tencent.com/product/mta
  • 腾讯云移动推送(TPNS):https://cloud.tencent.com/product/tpns
  • 腾讯云移动直播(LVB):https://cloud.tencent.com/product/lvb
  • 腾讯云移动短信(SMS):https://cloud.tencent.com/product/sms

请注意,以上推荐的腾讯云产品仅供参考,具体选择应根据实际需求进行评估和决策。

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

相关·内容

为啥 Java 推荐将 Optional 当做参数使用

一、背景 最近开发过程,身边的同事为了实现逻辑复用,定义一个私有公共方法实现逻辑复用,定义函数签名时将上游的 Optional 作为参数传递。 IDEA 给出警告,但是并没有讲清楚为什么。...那么,为什么推荐作为参数使用呢? 二、讨论 2.1 为什么不要将 Optional 作为参数 如果将 Optional 当做参数使用,那么本身可传递 null, 依然需要进行判空再使用。...,参数是方法调用 Supplier 也违规,又契合将调用传递的目的。...三、结论 【建议】建议将 Optional 作为参数,容易造成空指针和误解,这和 Optional 的目的相违背。如果是想传递某个调用,请使用 Supplier。...【建议】建议将 Optional 作为属性,非要用建议使用 guava 包的 Optional 类。

2.8K20

什么是线程组,为什么在 Java 推荐使用

在线程组,如果发生未捕获异常,可以通过 Thread.UncaughtExceptionHandler 进行处理。 在 Java ,虽然线程组是一种功能强大的机制,但实际上并不推荐使用。...在实践,像 Executor 这样的 API 已经为线程管理提供了更加强大、可控的解决方案,相比之下,线程组已经逐渐退出 Java 中被广泛使用的范畴。...考虑到大多数应用场景都需要进行动态调度,而且现代的 JDK 版本已经增加了类似 CompletableFuture、CompletionService 等更高级且易维护的机制,因此使用线程组会带来更多的限制而不是优势...3、容易引起歧义 在 Java ,虽然 ThreadGroup 的设计旨在通过将一组线程分到同一个容器来轻松管理和控制它们,但如果使用错误,可能会导致线程状态。...因此,在 Java ,线程组已基本过时,推荐使用 Executor 框架等新的更实用的工具来进行线程管理。

26020

Java 为什么推荐在 while 循环中使用 sleep()

前言最近逛 CSDN 看到一篇文章,文章大意是说为什么在循环中推荐使用 sleep 操作,原因在于线程挂起和唤醒会有很大的性能消耗,并推荐使用 Timer 及 ScheduledExecutorService...可能会导致忙等待 // 如 FLAG 变量状态未改变 那么线程可能一直循环,并不断进行线程挂起和唤醒原因是否正确主要原因和原文博主所说有很大的关系但不完全正确:我们都知道 Java 线程实际对应着操作系统的一个线程...比如微服务体系,客户端上报实例状态,或者服务端检测客户端状态都会使用定时轮询的机制。...事件机制上文的场景,我更推荐事件机制进行解耦,当变量被改变时,发送变量修改事件进行处理,如常见的 Spring Event 或者其它事件推送框架。...在 Java AQS 等待获取锁和线程池任务为空等待新任务时,会使用等待和唤醒操作轮询机制 和 等待和唤醒 一般会结合使用,避免线程频繁的挂起和唤醒。

73430

关于 java 的 set,get方法,而为什么推荐直接使用public

我不知道有没有人遇到过,有一段时间,我都觉得那些 set,get的用处何在,我直接写一个public直接拿不就行了,多爽,但是随着使用的频繁,越来越想去搜索一下这个问题,而不是按照官方的推荐,前辈们的使用都是建议...这里引入其中的一句话: 在任何相互关系,具有关系所涉及的各方都遵守的边界是十分重要的事情,当创建一个类库时,就建立了与客户端程序员之间的关系,他们同样也是程序员,但是他们是使用你的类库来构建应用...即使你希望客户端程序员不要直接操作你的类的某些成员,但是如果没有任何访问控制,将无法阻止此事发生。所有的东西都将赤裸裸的暴露在世人面前。...综上所述,写到这里,我诞生了一个想法,其实set ,get ,public,对于它们使用完全取决于我们程序员自己,为了让项目之间的逻辑更加清晰,有些标准自上而下,慢慢的传了下来,无论你使用那种,但是有一个东西是无法避免的...补充说明,set字面意思设置,get获取,我们了解一下java面向对象编程的封闭性与安全性,private 修饰的set get方法将方法封闭在了一个特定类,其他类就无法对其变量进行方法,这样就提高了数据的安全性

1.4K20

UI篇-关于单个页面屏幕旋转要注意的问题

---- 强制页面旋转(假的屏幕旋转) 最多见的是,视屏播放的横屏模式,点击全屏按钮,播放页面横屏最大化。使用 CGAffineTransformMakeRotation旋转操作配合动画即可。...不可使用self.view.frame.size.width self.view.frame.size.height,这样会出现第一次旋转出现上下部分白边的Bug,需要使用 [UIScreen mainScreen...)shouldAutorotate 方法 return NO; 默认关闭,,在需要开启的子类再次重写- (BOOL)shouldAutorotate 方法,在方法return YES即可。...所以页面支持的方向是一定要设定的,设定的话就是默认的:左右。 屏幕旋转的其它问题 如何应用程序刚启动时判断设备方向呢?...= YES; [UIApplication sharedApplication].statusBarHidden = NO; # 请注意,上面的俩条一条都不可以少,而且也不可以颠倒顺序。

3.6K20

UIApplication 基础篇介绍

做iOS开发的同学对UIApplication一定陌生,当我们想要弹框,蒙层等功能时,都会使用类似如下的操作: UIWindow *delegateWindow = [UIApplication sharedApplication...UIApplication,代表的是整个应用做的事,因此每个程序只能有一个,系统使用的是单例模式,就是上面的[UIApplication sharedApplication]来得到一个实例。...sharedApplication]; app.applicationIconBadgeNumber=123; //设置指示器的联网动画 app.networkActivityIndicatorVisible=YES...UIStatusBarStyleDefault;//默认(黑色) //设置为白色+动画效果 [app setStatusBarStyle:UIStatusBarStyleLightContent animated:YES...]; //设置状态栏是否隐藏 app.statusBarHidden=YES; //设置状态栏是否隐藏+动画效果 [app setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade

32110

UIApplication 介绍基础篇介绍

做iOS开发的同学对UIApplication一定陌生,当我们想要弹框,蒙层等功能时,都会使用类似如下的操作: UIWindow *delegateWindow = [UIApplication sharedApplication...UIApplication,代表的是整个应用做的事,因此每个程序只能有一个,系统使用的是单例模式,就是上面的[UIApplication sharedApplication]来得到一个实例。...sharedApplication]; app.applicationIconBadgeNumber=123; //设置指示器的联网动画 app.networkActivityIndicatorVisible=YES...UIStatusBarStyleDefault;//默认(黑色) //设置为白色+动画效果 [app setStatusBarStyle:UIStatusBarStyleLightContent animated:YES...]; //设置状态栏是否隐藏 app.statusBarHidden=YES; //设置状态栏是否隐藏+动画效果 [app setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade

52720

iOS13 Scene Delegate

application(_:didDiscardSceneSessions:) : 在分屏关闭其中一个或多个scene时候回调用,可以在该函数销毁场景所使用的资源。...Enable Multiple Windows: 默认为NO,其设置为YES可以支持多个窗口。 Application Session Role: 是一个数组,用于在应用程序声明场景。...这是因为iOS13AppDelegate的职责发现了改变: iOS13之前,AppDelegate的职责全权处理App生命周期和UI生命周期; iOS13之后,AppDelegate的职责是: 1、...使用此方法可以有选择地配置UIWindow窗口并将其附加到提供的UIWindowScene场景。 如果使用storyboard,则window属性将自动初始化并附加到场景。...App仍然使用UIWindow对象,但现在它们已成为scene(场景)的一部分。 在if let代码块使用scene来初始化UIWindow对象。

5.2K20

iOS-定位

; -首次使用定位时,通过API接口requestAlwaysAuthorization申请应用未使用时权限,如下图; 注意:此权限下,当app在后台时,系统默认展示定位小蓝条,可通过showsBackgroundLocationIndicator...则可弹窗申请始终允许,如下图;(感觉不是太友好,建议使用) -与iOS12.版本相比不同点*** -使用应用期间的定位权限增加了允许一次选项; -不能直接申请后台定位权限,需要用户先选择应用使用期间的定位权限后...beta1到beta4,直接使用info.plist的Property List添加NSLocationDefaultAccuracyReduced字段只能是string,所以会造成起效的问题,如果您也遇到类似问题...requestWhenInUseAuthorization一样,在app进入后台后,系统会择机弹窗提示用户是否要权限升级为始终允许; -自2019年下半年起,苹果商店上架app对后台定位权限增加限制,如果info.plist包含...、NSLocationAlwaysUsageDescription字段,并且代码(包括使用的静态库)不能出现requestAlwaysAuthorization符号; [图片上传失败...

1.2K20

iOS接入开屏广告教程 : 以腾讯优量汇为案例

4.12.5及以上版本 本文重点是拉取最新SDK库、iOS14的idfa适配以及iOS13的modal样式适配 I 、 SDK部署 https://developers.adnet.qq.com/doc...开发者可通过以下接口配合使用提供媒体logo,用以随开屏广告展示。...return YES; } 由于SDK的静态库文件libGDTMobSDK.a>110M, 提交到git 仓库时可能由于文件大小的限制导致提交失败,所以推荐使用.gitignore 将Pods目录忽略...建议流量主等待方法回调完成后处理广告相关逻辑,这样如果用户授权使用IDFA等广告标识符信息,优量汇iOS SDK可以使用IDFA等广告标识符进行广告请求。...在这里插入图片描述 IV iOS13适配present半屏的问题 由于本文的广告类型是开屏全屏方式的,所以使用分类将广告控制器GDTSplashImageViewController的modalPresentationStyle

2.6K20

UI篇-UINavigationController之易忘补充

跳转动作 A viewDidDisappear B viewDidAppear 其他知识补充 [UIApplication sharedApplication].statusBarHidden...= YES; 上述方法只能实现在程序跳过loading(即启动画面)的时候才能隐藏状态栏。...上面设置的为YES,下面的为NO 关于导航返回:     首先ios7 之后只要使用系统自带的导航效果就有手动滑动返回的效果。但是当自定义返回按钮时,这种手动滑动返回的效果就没有了。...]];//写默认是蓝色的back 但是这个设置不会影响第二个VC的title 的颜色(默认的一直黑色)。...viewController的toolbarItems来设置,显示的顺序和设置的NSArray存放的顺序一致,其中每一个数据都一个`UIBarButtonItem`对象,可以使用系统提供的很多常用风格的对象

2.1K20

iOS定位的使用:地理逆地理编码判断目标经纬度是否在大陆

[QCTSession isHasLocationAuthorityWithisShowAlert:YES]) { return; } // [[QCT_Common..., 需要实现amapLocationManager:doRequireLocationAuth: 代理方法问题及解决方案】 /** 1、 限制境外定位 (优化定位权限检查的处理逻辑:主要针对iOS13...}else if (status == kCLAuthorizationStatusNotDetermined){//用户尚未对该应用程序作出选择,如果是采用高德的SDK定位可以执行...; } 2.3 处理【非首次安装允许定位权限弹框】 AppDelegate检测定位权限 打开app提示定位权限弹框,针对iOS13 每次都要下次询问,为了用户体验去掉 /** 非首次安装提示定位权限弹框...; break; case kCLAuthorizationStatusAuthorizedWhenInUse: result = YES

2.2K50

来了,iOS的JSCore与H5的交互

h5概念很热,咱们不多多说,但是在移动端的App某些需要快速开发的地方也是很有好处--可以把一部分不想做的,不方便做的甩给web端去做,咱么只需要做好native与web的通信就好啦?...但是有一个点需要注意,我们暴露出的共js调用至少需要一个形参,也就是说,传递数据也要有一个参数 ② 传递给WebView的引用实现协议与函数 这里我们只看一个实现 -(void)popBack:(NSString...dispatch_async(dispatch_get_main_queue(), ^{ [weak_self.navigationController popViewControllerAnimated:YES...]; }); } 这里有点需要注意:回来进行UI的操作请在主线程操作 最后是一个兼容性的彩蛋,也是最坑的一点---alert UIAlert在iOS 9之后慢慢被禁用,而到了iOS13之后这问题异常严重...[self presentViewController:alerVc animated:YES

1.2K30

史上最强最贵Mac Pro诞生,iPadOS和iOS分家!WWDC19全面总结

要来就来全套的,苹果还把手机的照片应用、联系人、短信编辑页面等统统变黑。 用户在使用暗黑模式时,点击控制中心的快捷按钮,就可切换黑暗模式。...5、Siri智商越来越高 在本次Siri的更新,苹果使用了基于机器学习的Neural TTS技术,Siri的声音听起来更像“人说的”,机器腔拜拜!...6、引入HomeKit安防视频功能 iOS13,苹果增加HomeKit安防视频功能,该功能可提供10天的iCloud存储,而此举并不会占用你现有的存储空间。...本次更新后的tvOS,支持多用户登录,当你切换用户后,tvOS会根据该账号的信息,为你推荐专属内容。...从tvOS的多用户使用,到iPadOS全新的对iPad的优化,使得iPad生产力有所提升,更加惊艳的交互界面,实用的多任务管理,再到iOS13、Dark Mode的加入,以及Apple对用户隐私的全方位保护

1.4K60
领券