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

iOS 13上的preferredStatusBarStyle不受尊重

在iOS 13上,preferredStatusBarStyle属性的行为发生了变化,它不再被默认的UIViewController的preferredStatusBarStyle方法所影响。这意味着,如果你在iOS 13上使用preferredStatusBarStyle来设置状态栏的样式,可能会发现它不起作用。

这个问题的解决方法是通过在AppDelegate中的scene(_:willConnectTo:options:)方法中设置window的overrideUserInterfaceStyle属性来实现。具体步骤如下:

  1. 在AppDelegate.swift文件中找到scene(_:willConnectTo:options:)方法,如果该方法不存在,则需要手动添加该方法。
  2. 在scene(_:willConnectTo:options:)方法中,获取到scene的UIWindow对象。
  3. 设置UIWindow对象的overrideUserInterfaceStyle属性为你想要的状态栏样式,通常是.light或.dark。
  4. 这样,在应用程序启动时,场景连接到窗口时,状态栏的样式就会被正确地应用。

下面是一个示例代码片段:

代码语言:txt
复制
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
    guard let windowScene = (scene as? UIWindowScene) else { return }
    
    let window = UIWindow(windowScene: windowScene)
    
    // 设置状态栏样式
    window.overrideUserInterfaceStyle = .light
    
    // 设置根视图控制器等其他配置
    // ...
    
    self.window = window
    window.makeKeyAndVisible()
}

这样就可以确保在iOS 13上preferredStatusBarStyle属性能够正常工作。

在腾讯云中,相关的产品和服务可以使用云服务器(CVM)来进行iOS应用的开发和部署。您可以通过以下链接详细了解腾讯云的云服务器产品:

腾讯云云服务器(CVM):https://cloud.tencent.com/product/cvm

请注意,上述答案中没有提及亚马逊AWS、Azure、阿里云、华为云、天翼云、GoDaddy、Namecheap、Google等品牌商,按照要求给出了完善且全面的答案。

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

相关·内容

iOS 知识小集(Status Bar变换)

背景 iOS 中经常会有需要在某个界面改变状态栏颜色或者某个界面隐藏状态栏需求。而改变状态栏颜色和控制状态栏显示和隐藏API,在iOS 不同版本中也发生了很多变化。...iOS 7以前 在iOS 7之前,状态栏是不占视图位置。每个控制器中根view都是从屏幕Y轴20px处开始显示。...API iOS 7 ~iOS 9 从iOS 7开始系统风格大变样,图标扁平了,状态栏也不在闹独立了。因为状态栏会受到导航栏或者View背景色影响,所以状态栏风格也需要实时调整了。...但是使用UITabBarController依然正常,状态栏不受UITabBarController影响。...情形二 状态栏样式、是否显示实际是由顶层window的当前视图控制器决定

1.3K21
  • BlackBox:在不受信任系统保护容器安全

    相较于虚拟机方式,容器所需要资源更加少,有更好启动性能与IO性能。但是,容器以来与特权OS作为安全保障,然后以Linux为代表商用OS代码量大,复杂存在很多攻击漏洞。...例如用户希望通过mmap得到一块没有被使用过内存,但是OS可能返回一个栈地址空间,导致栈数据被覆盖重写。 为了解决这个问题,BlackBox不允许OS直接修改容器页表,而需要CSM介入。...测试结果: null syscallBlackBox虽然会导致一定overhead,但是主要开销在seccomp做syscall过滤。...而CSM call在Arm架构因为有独自EL2寄存器,所以开销只在于存储与恢复通用寄存器,因此不是主要开销。...同时在测试部分,也只是和docker进行了比较,没有和其他安全容器技术进行比较,在部分benchmark性能相较于其他方式,并没有明显提高。

    96420

    iOS】关于iOS13越狱一些事情

    由于前几天偶然发现自己家宽带竟然是公网ip,这段时间一直在试着折腾一下ftp服务器,后面可能会写一篇搭建私有云(是ftp还是硬盘,还是类似网盘教程,随缘吧) 今天起床看到各大越狱群都是1000多条消息...,就知道肯定有大事情发生了,然后各大公众号翻了翻,果不其然在pwn经过N个24小时后终于发布了新版unc0ver V4.0,下面借用某个群一张图片 ?...这次这个un只支持A12和A13,也就是对应iPhone Xs,iPhone Xs Max,iPhone XR,iPhone 11,iPhone 11 Pro,iPhone 11 Pro Max,相信这几款机型大家基本都是主力...,等等解决办法,因为本人一直在12.0chimera环境下,很稳定不想瞎折腾 还有最重要是就是现在刚发布越狱不久,各大源服务器压力都很大,现在不建议下载插件,因为大部分都会红字报错 这里贴个小东西吧...:(可以搜插件官方源) https://www.ios-repo-updates.com/search/ 好了今天就说这么多吧,祝大家折腾顺利

    75120

    GitHub开源代码到底受不受美国出口管制?

    在美国封杀华为,谷歌停止与华为相关业务和服务之际,有网友发现,全球最大代码托管平台Github,用户协议写着: GitHub.com、GitHub Enterprise Server和您上传任何一个产品信息都可能受美国出口管制法律约束...△ Github协议截图 GitHub开源代码受美国出口管制了? 事情没有这么简单。...有知乎网友调侃说,瞬间觉得去github抄代码竟然有了做特工感觉,可能“孤胆英雄”说得就是自己了。 ?...其实,GitHub这条协议并非最近才加入,其协议中企业服务版块(GitHub Enterprise Server)标注,不得出售、出口或再出口到清单中国家已经包含古巴、伊朗、朝鲜、苏丹与叙利亚...林诚夏还表示,GitHub多数开源软件皆为公开可及并能后续散布,出口上不需要申请许可。 而受这条规定影响,可能以企业居多。 如果企业想采购后在公司内部部署并使用产品,需要受到出口管制制约。

    1.2K41

    iOS

    有3D-touch机型坑昨天在上线时候遇到了一个坑,最后导致结果是找了好几个小时,直接到半夜才能上线。...入正题: 坑是:项目运行在456没什么问题,但是在6S以上机型就有点击事件不响应情况出现,我是直接登录界面就点击按钮都没有反应,有的时候轻点就有可能有响应,但是响应很慢。...首先自己从点击事件不响应开始去排查,发现响应事件也开着,也不是触摸范围问题,再者是怀疑是不是VC层级结构问题,开始尝试各种跳转,还是在6S没有反应,甚至新建了一个类控制器来跳转测试,上面就丢了一个按钮...后来在百度中无意看到一个说法:项目中对UIButton有分类,有可能会对3D-Touch机型有影响,我天啊,然后检查项目,把关于UIButton扩展去掉后,项目正常了。...或许是因为我那个UIButton分类里加了touch方法才导致这个结果,而没有写touch方法UIButton分类应该是没有影响

    26020

    iOS状态栏使用总结

    目录: 一、状态栏与导航栏 二、设置状态栏显隐与字体样式 三、设置状态栏背景色 四、启动页隐藏状态栏 五、状态栏、导航栏相关常用宏定义 相关文章:iOS导航栏使用总结 一、状态栏与导航栏 状态栏...:显示时间、电池等信息 导航栏:显示app页面标题,返回按钮等 iOS7之前:状态栏与导航栏是分开iOS7之后:状态栏与导航栏合在一起;导航部分总高度(64)= 状态栏高度(20) +导航栏内容高度...((44) iPhoneX设备出现以后,状态栏高度变为44,导航栏部分总高度(88) = 状态栏(44) + 导航栏内容高度(44) 二、设置状态栏显隐与字体样式 iOS状态栏可以设置显示和隐藏,也可以设置文字颜色...此时全局设置操作都是无效,需要分页设置才能修改其样式,即:在每个视图控制器或者控制器基类中使用如下代码: - (UIStatusBarStyle)preferredStatusBarStyle {...这是因为导航控制器里preferredStatusBarStyle才具有修改状态栏样式能力,解决这个问题方法有两种: 方法1:添加子类导航控制器 我们需要使用自定义子类导航控制器,在其中添加如下代码

    1.9K30

    iOS中用application 来管理电池栏状态

    默认电池栏是由controller来管理, 我们可以在controller 中使用  -(UIStatusBarStyle)preferredStatusBarStyle 方法来改变电池栏颜色。...-(UIStatusBarStyle)preferredStatusBarStyle { return UIStatusBarStyleLightContent; } UIStatusBarStyleDefault...(7_0) = 1, 为高亮状态亮色 下面两个方法在iOS7 以后 都使用高亮状态白色来替代,在此不做讨论啦。...") = 2, ---- 但是一般电池栏状态我们都将给application来管理,这样我们可以更便捷管理所有页面的电池栏 因此我们需要在info 文件中 做一些修改 ?...这时,我们就会发现controller中 -(UIStatusBarStyle)preferredStatusBarStyle 方法已经不管用了 我们需要在app delegate中定义电池栏样式

    60570

    重构13岁小孩写游戏(

    ,但是很多人想要自己独立去实现一遍,发现还是有很大难度,因为中间代码逻辑全部都关联在一起,容易理不清。...之所以会出现这种情况,是因为作者采用是面向过程,步骤很清晰,可以看明白,自己实现比较难。如果采用面向对象方法,增加功能就会比较简单了。...---- 其实绝大数游戏都是采用面向对象,这样比较容易维护和扩展功能。而写面向对象程序,最重要就是抽象,尽量将每个角色属性和方法独立出来。...比如定义这里兔子类: 在类里面实现兔子各种方法,这里暂时先实现其移动以及旋转功能。...,以及兔子移动,旋转功能都实现了,剩余射击,獾前进,箭与獾碰撞检测,獾与城堡碰撞检测,血条实现,限时功能,开始结束界面,背景音乐,关卡设计等在之后文章再写啦。

    74320

    iOS开发应用上传AppStore步骤(iOS架)

    前言:作为一名IOS开发者,把开发出来App上传到App Store是必须。下面就来详细介绍下具体流程。...后,点击 + 号10.点击App Store and Ad Hoc11.点击Continue12.点击Continue创建本地证书13.此时返回到桌面,在点开LaunchPad,在其他中找到钥匙串访问,...注:一般一个开发者帐号创建一个发布证书就够了,如果以后需要在其他电脑架App,只需要在钥匙串访问中创建p12文件,把p12文件安装到其他电脑。这相当于给予了其他电脑发布App权限。...35.在Xcode中选择模拟器为iOS Device,按照下图提示操作36.修改.plist文件,两个.plist文件都要修改37.然后发送到我App38.发送成功后返回到我对App,刷新页面,在构建版本处就会有个...+ 号,点击 + 号把发送过来程序添加上去就行了39.然后在定价处设置你App架后是免费还是收费。

    92510

    iOS13 关闭黑暗模式+状态栏显示问题解决方法

    toc 现象: iOS13黑暗模式开启后,app显示会出现很多意外显示情况。暂时屏蔽是最好选择。...当开启黑暗模式,且在项目的target对应info.plist中添加以下设置时(禁用黑暗模式): UIUserInterfaceStyle Light</string...在项目的target对应info.plist中添加以下设置: UIViewControllerBasedStatusBarAppearance 再运行就可以看到状态栏了...系统会自动把导航栏设置为半透明,若不想要半透明效果,需要设置 translucent 为 NO self.navigationController.navigationBar.translucent = NO; 此时状态栏黑色字体在背景色上会无法显示...配置 UIViewControllerBasedStatusBarAppearance 在相关控制器重写状态栏样式代码 - (UIStatusBarStyle)preferredStatusBarStyle

    2.3K10

    轻松搞定CharlesHTTPS抓包(iOS13可用)

    笔者一直比较喜欢Wireshark,但由于最近项目是短连接项目,Wireshark太过重量。所以笔者选择Charles进行App抓包,配置也更加简单。 1....HTTP抓包配置 1.1 查看当前wifiIP地址 ? 1.2 设置手机HTTP代理 iOS手机,连接与电脑同一个WiFi。然后点击“设置->无线局域网->连接WiFi”,设置HTTP代理。 ?...1.3 电脑打开Charles进行HTTP抓包 打开Charles。 ? 手机配置成功后会弹出提示,点击“Allow”即可。 ? 此时,HTTP网络包已经可以查看,但是HTTPS依旧不可以。...对于iOS10之后系统版本,需要进行下面的操作——对根证书进行信任操作。 ? ? 2.2 Charles配置加密 开启“SSL Proxying” ?...不需要重启Charles,此时开始,所有的HTTPS请求也是可见了。 ? 3.

    6.3K20

    iOS-最全App架教程

    App架教程 在上架App之前想要 真机测试同学 请查看 iOS- 最全真机测试教程 里面包含怎么让多台电脑同时 架App和同时真机调试。...如果安装不,可以直接将证书文件拖拽到钥匙串访问列表中 重点: 一般一个开发者帐号创建一个发布证书就够了,如果以后需要在其他电脑架App,只需要在钥匙串访问中创建p12文件,把p12文件安装到其他电脑...特别注意: 这里填写Apple ID 不是你自己手机上创建Apple ID 一定要是 开发者账号 账号和密码 (QAQ 我就在这里被坑过) 2、选择模拟器为iOS Device,按照下图提示操作...这里我们插一个知识点 iOS打包-api包4中方法 ​ 图片 ​ ​ ​ ** 打包过程中 会出现问题 ** ​ 解决方案:iOS- 打包时 UUID出错解决方案 **application...真机测试同学 请查看 iOS- 最全真机测试教程 里面包含怎么让多台电脑同时 架App和同时真机调试。

    41050
    领券