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

iPadOS上启动黑屏翻车问题分析(二)

iPadOS上启动黑屏翻车问题分析(一) 昨天我们说了旧的项目在iOS 13下完全启动之后黑屏的问题,然后紧跟问题通过UI图层分析方式一步步的分析基本找到了问题的根源---iPadOS的底层以及操作思路转变啦...单窗口时代 咱们暂且吧单窗口的iOS定义为旧时代,也就是之前的iOS应用默认的情况下基于单一窗口模式开发的(如下图),而作为开发人员也是十分的享受这种内置的开发模版 ?...新的时代--支持多窗口模式 在升级到iOS 13之后系统开始支持多窗口这个尤其是在iPadOS上尤为显著,这样你可以同时的在一个设备屏幕上同时享受到至少两个App的视图内容… AppDelegate...但是iOS 13之后这个规律被打破,将很多的任务转移给了UIWindowScene 旧项目黑屏拯救 既然App的声明周期在转移那么我们的App代码也要跟着迁移处理 1 Info.plist更改...(13.0))的attribute可知这个会在iOS13才会调用,我们做好版本兼容即可 ③ 新建的SceneDelegate载体 OC版本 ?

2K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

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

    toc 现象: iOS13黑暗模式开启后,app显示会出现很多意外显示情况。暂时屏蔽是最好的选择。...当开启黑暗模式,且在项目的target对应的info.plist中添加以下设置时(禁用黑暗模式): UIUserInterfaceStyle Light</string...特殊情况(暗色系导航栏) 如果项目中有更改系统导航栏背景色,比如下面代码: self.navigationController.navigationBar.barTintColor = [UIColor...为了可以正常显示状态栏字体,通过作如下设置,即可设置状态栏文字为白色: 更改 info.plist 配置 UIViewControllerBasedStatusBarAppearance</key...; } 对于常见视图结构( tabbarVC 下多个子导航控制器),可放在自定义导航控制器中(放在 tabbarVC 无效)。

    2.3K10

    自定义XCode的SwiftUI View模版(.xctemplate制作)

    User Interface文件夹里,我们可以看到如下,他们分别与图1 User Interface的模板相对应: 图3.png 同样的,我们去看另外的文件夹,他们的.xctemplate也与我们创建文件时的类型相对应...二、实现自定义SwiftUI View模板 根据图一,我们知道SwiftUI View模板属于iOS下的User Interface,所以我们自定义的SwiftUI View模板也放到iOS下的User...1.查看User Interface下别的模板是怎么做的 image.png image.png image.png image.png 注: 红框里的.xib和.storybord...class相关的 image.png 我们是SwiftUI,需要import SwiftUI,然后内容是struct相关,具体如下 image.png 这个例子是定义了Properties书写的位置、子视图书写的位置...保存以上内容,将View.xctemplate命名成你想要的名字 g.将View.xctemplate命名后的文件放到User Interface下 image.png h.这时候我们新建文件,就会出现我们自定义的模板

    31920

    iOS项目——项目开发环境搭建

    首先大家可能会很奇怪,为什么每个App启动时都会出现一些启动图片或广告或动图,很烦人对不对?但是启动图片是必须的,原因有两点。...一来通过启动图片设定了我们App应用在本次启动时以多大的界面进行展示信息,如果不设置启动界面,我们的App在打开后后会出现黑屏的显影导致应用无法正常使用。...return YES; } 6 搭建目录结构 对于一个比较复杂的项目,我们再开发过程中肯定不能把所有的文件都直接放在一个文件夹目录下,我们需要搭建目录结构对其进行层次化和结构化管理,这样便于我们在出现问题时快速定位到个功能模块上...└── Socket(Socket类目录) ├── Module(功能模块目录) │ │ │ ├─── ModuleA │ │ ├── ViewControllerA.h(视图控制器头文件...) │ │ └── ViewControllerA.m(视图控制器m文件) │ ├── ModuleB │ ├── ModuleC │ ├── ModuleD │ └──

    1.5K150

    ViewController及View的生命周期1. 起因2. Controller的生命周期3. View的生命周期4. 内存警告

    Controller的生命周期 系统提供了控制器从显示到消失的四个方法。 千万不要看到方法名中间出现了view就以为这是视图的方法。这些都是控制器的生命周期。...iOS7新增加了导航控制器侧滑手势,当触发侧滑返回时,会调用系统的viewWillDisappear:方法,取消侧滑返回时又会调用viewWillAppear:方法。...Default does nothing 对象的视图已经消失、被覆盖或是隐藏时调用. UIViewController类提供一些方法,用来判断为什么view外观发生更改。...调用addSubivew:成功后会给该视图发送didAddSubivew:回调,触发UIView的子类在新增视图时执行其他操作。...实际开发中为了写的少点,都会写在基类控制器中。 官方说,iOS 6.0以后系统就不会自动清理,需要手动清理。

    1.5K30

    iPadOS上启动黑屏翻车问题分析(一)

    iOS的每次大版本更新都会是iOSer的苦难之旅,这次的iPadOS估计肯定也不例外当然了这次估计是针对iPadOS的苦难而已吧。...在iOS13以下的iOS中iPhone和iPad用的是同一套OS而到了iOS13之后iPad单独摘出来另起炉灶称为iPadOS好了我们先上个坑---升级iPadOS之后App黑屏问题 问题描述 iOS13...以下的iPad均能正常启动而到了iPadOS上启动启动页一闪而过之后是黑屏 问题分析 对这App发了好一会呆之后无从下手,怎么办吧。...那么是什么原因出现的黑屏呢?...是不是感觉很不同啊,既然很不同那么问题十有八九就出现在这里啦。好了我们基本确定了问题的范围就好说了,明天继续啃这部分……

    1.9K00

    iphoneipaditouch进入DFU模式最简单的操作办法

    ,特别是时间的把握上,多按一会儿不行,少按一会儿也不行,从网上看到这个办法,觉得不错,转载于此: 1、连接你的iphone到电脑 2、先右击“我的电脑”—>属性—>硬件—>设备管理器—>通用串行总线控制器...,放开HOME,这时就进入黑屏的DFU模式了。...即:在整个操作过程中,“通用串行总线控制器”里的"Apple MobileDevice USB Driver"会先消失,再出现,等再次出现时,就是该最后松手的时候了。...如果你是在开机状态下按的POWER+HOME,那么进入DFU模式的时候屏幕虽然是黑的,但是黑屏前花屏的残影还在屏幕上,不用担心,正常现象,这也是进入DFU的标志之一。...附:iOS4.2.1的完美越狱 for windows终于也放出来了,见 http://zx.sj.91.com/content/2011-02-03/20110203184326921.shtml 我亲自测试过

    1.2K50

    IOS 与ANDROID框架及应用开发模式对照一

    二 应用开发都採用了模型-视图-控制器(MVC) 设计模式 如IOS框架中的视图控制器对象担当MVC模式中的控制器角色。管理应用程序内容在屏幕上的呈现。...在ios 的UIKit 框架中的UIViewController 类是全部视图控制器对象的基础类, 每一个视图控制器对象是 UIViewController 类的实例。...由于 iOS 应用程序显示内容的空间非常有限,视图控制器也提供了所须要的基础结构,从一个视图控制器中撤出视图。以还有一个视图控制器中的视图来替换。因此,视图控制器是您实施各种类型的内容转换的方式。...要更改您的应用程序的内容,需使用视图控制器,来更改在相应窗体中显示的视图。您不会把窗体本身替换。 除了充当视图的宿主以外。窗体还配合 UIApplication 对象工作。...控制是一类专门的视图,负责实施常见的界面对象。如button、文本栏和切换开关。 视图对象通过应用程序的控制器对象。了解模型数据的更改,并通过控制器对象。

    1.1K20

    html5的video在IOS端默认全屏和黑屏问题

    blog.csdn.net/wkyseo/article/details/77880535 最近项目中需要使用video来代替有点复杂的动画(video循环自动播放),遇到了使用过程中的两个坑 ios...name="AllowInlineMediaPlayback" value="true" /> 对了,行内播放之后还解决了一个问题,可以在video视窗使用定位来增加遮罩等功能 video自动播放黑屏...最开始产品需求是视频加载自动播放并且循环,导致快速切换页面再加载视频经常黑屏很长一段时间才能播放 寻求解决思路: 一.... 问题:依然存在黑屏,换成onplay尝试无解 网上说是videoview在加载第二个视频时 默认会释放到第一个视频的资源再加载第二个视频的资源 这个比较耗内存 会出现短暂的黑屏...更改需求^ ^ 因自动循环播放体验不友好,后期改为手动播放,添加poster,preload='auto'遂可以解决 playVideo() { this.videoElement.play(

    5.7K40

    VMware Workstation 15基本介绍

    o主机级别高DPI支持 - 工作站界面自动检测主机级别DPI更改并自动调整布局以满足新的DPl。...6、连接到vCenter Workstation 15 Pro时,主机和群集视图在连接到远程vSphere时添加新的“主机和群集”视图。清单树现在显示两个不同视图中对象的层次结构:主机和群集以及VM。...11、虚拟NVMe存储的性能改进 12、已解决的问题 直接使用物理磁盘的虚拟机可能显示黑屏当虚拟机直接使用物理磁盘时,在启动虚拟机后,虚拟机可能会显示黑屏。 此问题已得到解决。...13、如果并行端口映射到物理并行端口,虚拟机可能会崩溃并在启动时显示错误当虚拟机使用并行端口并且并行端口映射到主机OS物理并行端口时,启动虚拟机机器,虚拟机可能会崩溃并出现以下错误:VMware Workstation...此问题已得到解决1 15、连接到某些3.1 xHCI控制器的USB设备无法在Windows主机上进行直通在Windows主机上,当您选择VM>可移动设备时,未列出连接到某些USB 3.1控制器的USB设备

    4K50

    如何解决Xcode中的SIGABRT错误

    Interface Builder中的UI元素之间建立连接 有一次您更改了初始插座属性的名称,并且您的应用因SIGABRT错误而开始崩溃 当您使用Interface Builder创建视图控制器时,您的应用程序运行时...此时,它将还将XIB的插座连接到视图控制器类的属性。 如果您更改了插座属性的名称,则您的应用程序将找不到它。因此,它将引发异常。导致SIGABRT错误的原因是未处理该异常。...该应用程序此时告诉我们,视图控制器不符合该键的键值编码button。这意味着它无法button在视图控制器上找到该属性。没错,因为我们已经对其进行了重命名。...iOS使用一种称为键值编码的机制来检查视图控制器具有的属性,因此它可以使用这些属性来引用其基于XIB创建的UI元素。 您现在如何解决该错误?...一个异常断点时的异常在你的代码出现被触发。您无需指示调试器在哪一行上触发断点,而是指示调试器暂停代码执行以防出现异常。 发生异常时,异常断点对于检查代码很有用。

    6.1K20

    macOS APP从零到上架

    有一款软件叫SimPholders,可以访问iOS开发模拟器的沙盒文件位置,最近,模仿这个功能,开发了一个小型的macOS APP可以一键访问沙盒位置,已经上架到APP Store,记录一下开发过程和上架过程...// Insert code here to tear down your application } ViewController:继承自NSViewController,是项目启动后的第一个窗口视图...通过Main.storybord的箭头导向,指向的是主Window,然后将第一个页面指向为ViewController。...需要的窗口只有一个,所以不再详细阐述NSViewController/NSWindowContorller的用法 2、Dock菜单 在info.plist里加LSUIElement为YES可以让App启动后,图标不出现在...-13-1" : [ { "state" : "Shutdown", "isAvailable" : true, "name" : "iPhone

    83020

    OpenGL ES编程指南(三)

    尤其是,使用OpenGL ES的iOS应用程序必须正确处理多任务,否则在转到后台时可能会被终止。 在为iOS设备开发OpenGL ES内容时,您还应该考虑显示分辨率和其他设备功能。...如果您使用GLKit视图和视图控制器,则当您的应用移动到后台时,GLKViewController类会自动处理其关联视图的帧缓冲区。如果您为其他用途手动创建帧缓冲区,则应该在应用移动到背景时将其丢弃。...默认情况下,GLKViewController和GLKView类会自动处理方向更改:当用户将设备旋转到支持的方向时,系统会激活方向更改并更改视图控制器视图的大小。...如果您使用Core Animation图层绘制OpenGL ES内容,则应用程序仍应包含视图控制器来管理用户界面方向。 其他显示屏上展示 iOS设备可以连接到外部显示器。...按照多显示器编程指南for iOS中的步骤在外部显示器上创建一个窗口。 为您的渲染策略添加适当的视图或视图控制器对象。

    1.9K10

    【IOS开发基础系列】UIAlertController专题

    、更灵活,因此许多视图控制器的实现方式发生了巨大的变化。...1 UIAlertView         随着苹果上次iOS 5的发布,对话框视图样式出现在了我们面前,直到现在它都没有发生过很大的变化。...是使用对话框(alert)还是使用上拉菜单(action sheet),就取决于在创建控制器时,您是如何设置首选样式的。...当您向对话框控制器中添加文本框时,您需要指定一个用来配置文本框的代码块。         ...释放对话框控制器         通常情况下,当用户选中一个动作后对话框控制器将会自行释放。不过您仍然可以在需要的时候以编程方式释放它,就像释放其他视图控制器一样。

    60630

    iOS面试题-UI篇

    补充部分,这部分有深度了,大致了解一下吧,UIView的layer树形在系统内部被系统维护着三份copy 逻辑树,就是代码里可以操纵的,例如更改layer的属性等等就在这一份 动画树,这是一个中间层,系统正是在这一层上更改属性...presentViewController提供的是一个模态视图控制器(modal) pushViewController提供一个栈控制器数组,push/pop 请简述UITableView的复用机制...当你调用 setNeedsDisplay 方法时, UIKit 将会把当前图层标记为dirty,但还是会显示原来的内容,直到下一次的视图渲染周期,才会将标记为 dirty 的图层重新建立Core Graphics...如何进行iOS6、7的适配 通过判断版本来控制,来执行响应的代码 功能适配:保证同一个功能在6、7上都能用 UI适配:保证各自的显示风格 // iOS版本为7.0以上(包含7.0) #define iOS7...view,那么就传递给控制器 如果控制器不存在,则将其传递给它的父控件 在视图层次结构的最顶层视图也不能处理接收到的事件或消息,则将事件或消息传递给UIWindow对象进行处理 如果UIWindow对象也不处理

    2K21

    iOS之深入解析Xcode 13正式版发布的40个新特性

    的跟踪中导出表数据; Instruments 扩展详细信息视图,现在在选择关联的详细信息视图行时显示 os_log 和 os_signpost 消息和回溯; Run Information 视图现在出现在...; 现在可以使用键盘选择和导航大纲视图组,例如 Constraints; Interface Builder 有一个重新设计的画布底部栏,带有用于更改设备和布局的弹出窗口,以及用于更改设备外观和方向的开关...和 UIToolbar 检查器现在支持配置 UIBarAppearance 实例; UIButton 和 UISlider 支持为使用 Mac Catalyst 构建的应用程序选择首选的行为风格; 在视图控制器的大小检查器中使用...十八、预览 预览现在支持在预览视图时检查视图的辅助功能元素。...使用 iOS 15 beta SDK 进行编译时,几个与窗口相关的关键属性、方法和通知会更改行为。

    8.8K40

    最新iOS设计规范四|3大界面要素:视图(Views)

    iOS系统提供了许多内置活动,包括Print、Message和AirPlay。这些任务总是首先出现在活动视图中,无法重新排序。你不必为执行这些内置任务而去创建自定义活动。...集合的布局是可以随时更改的。但需要注意的是,如果你是在用户进行查看集合或者正在与之进行交互时来更改动态布局的话,请确保更改是有意义的且是易于跟踪的。...如果系统必须执行缩放,那么所有图像具有相同的大小和形状时,最容易实现。 六、页面视图(Pages) 页面视图控制器提供了一种在内容页面之间实现线性导航的方式,例如在文档、书籍、记事本或日历中。...页面视图控制器可以使用滚动或页面卷曲两种样式的任意一种完成页面之间的转场过渡。 ? 如果需要,可以自定义一种非线性的导航方法。使用页面视图控制器时,页面只能按顺序跳转,而跨页面之间是无法跳转的。...七、浮层/弹出视图(Popovers) 浮层通常是当用户点击屏幕上某个内容的控制点或区域时,在其上方出现的瞬态视图。通常浮层上会有个指向其出现位置的箭头。浮层分为非模态的和模态的。

    8.5K31

    iOS14开发-UIViewController

    响应用户与视图的交互。 负责界面的切换与传值。 响应设备的方向变化。 有一些特殊的视图控制器(导航控制器、标签栏控制器)可以更加方便和规范地管理 UIView。...iOS 13 之后,模态跳转并非全屏显示,如果需要全屏显示,需要手动设置。 两个概念 presentedViewController: 被 present 的控制器。...逆向传值 逆向传值即按照 UIViewController 跳转的顺序反向进行传值,比如控制器A跳转到控制器B,控制器B在返回控制器A时进行传值,这种方式就是逆向传值。...其他 UITableViewController:表视图控制器,集成了 UITableView 的视图控制器。...UICollectionViewController:集合视图控制器,集成了 UICollectionView 的视图控制器。

    2.4K20
    领券