UIApplication.sharedApplication.delegate.window 和 UIApplication.sharedApplication.keyWindow 有什么区别?

2024-02-07

谁能帮我理解以下两行之间的区别:

[UIApplication.sharedApplication.delegate.window addSubview:myView];
[UIApplication.sharedApplication.keyWindow addSubview:myView];

对于大多数用途来说,它们是相同的……但并非总是如此。

[UIApplication sharedApplication].keyWindow是设备上当前显示的窗口。这通常是应用程序的窗口,但也可能是系统窗口。

[UIApplication sharedApplication].delegate.window是您的应用程序预期使用的窗口。

应该使用哪一个?好吧,这一切都取决于上下文。

如果您要更新应用程序的一部分,那么您应该将视图添加到应用程序的窗口中。这几乎总是您想做的事情。

就我个人而言,我总是使用[[UIApplication sharedApplication].delegate.window addSubview:view] or [self.view.window addSubView:view](之内UIViewController)当我需要直接向窗口添加视图时。

有时您可能想要向当前显示的窗口呈现视图,无论该窗口是属于您的应用程序还是某个系统窗口。我没有遇到这种情况。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

UIApplication.sharedApplication.delegate.window 和 UIApplication.sharedApplication.keyWindow 有什么区别? 的相关文章

  • “未发现包含任何钥匙串签名证书的未过期配置文件”恐怖

    我看到了其他一些涉及这个主题的问题 但没有一个像我的 昨天我无意中将一个设备添加到设备列表中 问题 我的印象是 一旦添加设备 它现在就会链接到配置文件 然而 我相信它没有链接到我的分发配置文件之一 因此 我进入编辑配置文件 单击设备旁边的复
  • NSPredicate 格式字符串不起作用

    在我的代码中 我想检查记录是否已存在 以便我知道是创建它还是更新它 但我遇到了一个问题 问题是当我使用这个时 NSPredicate pred NSPredicate predicateWithFormat ATTRIBUTE ID idN
  • 在 iPhone 中使用 Soap Web 服务与 wsdl2objc?

    我确实意识到这是一个重复的问题 但是唯一的其他问题已经很老了 所以我想知道是否有人最近有过使用最新版本的经验wsdl2objc http code google com p wsdl2objc 我正在编写一个应用程序 该应用程序将与第三方应
  • iPhone X 上横向的 UICollectionView

    当 iPhone X 横向使用时 您应该检查 safeAreaInsets 以在左侧和右侧制作适当大的装订线 UITableView 有新的insetsContentViewsToSafeArea属性 默认 true 自动将单元格内容保留在
  • Xcode 8.2 更新后二进制文件无效

    我今天尝试在更新到 Xcode 8 2 后向我的应用程序推送更新 但收到无效的二进制错误 我以前从未见过这个 我的应用程序的 iOS 部署目标是 iOS 9 0 有谁见过这个错误或知道如何修复它 这是电子邮件的内容 解释了二进制文件的无效内
  • iOS 应用程序崩溃 com.apple.root.background-qos

    在应用程序中发现应用程序崩溃 我怀疑这可能是由于 firebase 观察者的代码而发生的 由于在用户案例中 用户可以从一个事件转到用户配置文件 参与此事件 然后从用户配置文件可以返回到此事件 我需要一个 ref 句柄来删除特定的观察者 因此
  • 如何在 Swift 中将 Int 转换为字符

    我在这里挣扎了十多分钟 失败了 我屈服了 我需要在 Swift 中将 Int 转换为 Character 但无法解决它 Question 你如何转换 cast an Int integer to a Character char 在斯威夫特
  • iOS-Swift UIApplication.shared.isIdleTimerDisabled = true 在 AppStore 审核后不起作用

    努力实现停止屏幕在某些情况下进入睡眠状态View Controller 我做了什么我已在运行 iOS 12 1 12 的物理 iPhone 6 上使用以下代码测试了我的应用程序 我设置了手机Dislpay Brigthness gt Aut
  • 检索旋转的 UIImageView 的所有 4 个坐标

    如何获取 UIImageView 的 4 个坐标 我知道可以得到CGRect以及origin x和origin y 但是如何找到所有4个角呢 编辑 我正在旋转 UIImageViews 这就是我问的原因 P 您可以添加矩形的宽度和高度来获取
  • 签名根框架中嵌入的子框架不起作用(Xcode 11.2.1)

    我有一个小型的概念验证应用程序 我试图在我的框架 AequumPOCFramework framework 中嵌入 并签名 一个框架 Alamofire 但是 当我尝试部署到我的设备时 它不断给出我的错误 在使用库验证的进程中使用无效 映射
  • 电话号码的 Swift 2 国家/地区代码

    我正在尝试从 iPhone 用户处获取国家 地区代码 我不确定是否有有关该国家 地区以及某些应用程序 如 Viber 如何建议拨号代码的信息 我到目前为止 let currentLocale NSLocale currentLocale l
  • 为 iPhone SDK 优化绘图(用手指触摸)应用程序

    我正在编写一个使用手指绘制简单图表的应用程序 我让它在大部分情况下都能工作 但现在我正在尝试优化它的性能 当用户快速滑动手指时 我无法捕获足够的触摸事件来绘制平滑的路径 这是我目前的方法 1 我对 UIView 进行了子类化 并向 CGLa
  • 自调整大小的集合视图在 iOS 15 中进入递归循环

    我有一个自动调整大小的集合视图 当我调用 super layoutSubviews 时 我的应用程序崩溃 因为集合视图进入递归更新循环 这在 iOS 14 及更低版本中运行良好 但从 iOS 15 开始就观察到了这一点 class Dyna
  • 我可以更改导航栏项目的位置吗?

    Here is the snapshot 代码在这里 UIButton leftButton UIButton buttonWithType UIButtonTypeCustom leftButton frame CGRectMake 0
  • 允许在 Safari 上聊天应用程序使用 audio.play()

    由于苹果禁用了自动播放音频的功能HTMLMedia Element play https developer mozilla org en US docs Web API HTMLMediaElement play在没有用户交互的 java
  • NSDate 休息 5 小时

    我运行以下代码 NSDate now NSDate 日期 NSLog now now 并得到 2011 09 16 16 14 16 434 iSavemore 1229 7907 现在 2011 09 16 21 14 16 0000 如
  • 应用程序终止时处理通知(iOS)

    我正在开发接收通知的应用程序 使用苹果推送通知 我正在存储这些通知并在一个控制器中显示为列表 据我了解 每当收到通知时都会调用 didReceiveRemoteNotification 当应用程序位于前台和后台时 我可以通过 didRece
  • Objective-C 字符串文字的预处理器宏值

    我在构建设置中定义了一个预处理器宏 FOO BAR 我想将该值转换为可以传递给方法的 Objective C 字符串文字 以下 define 不起作用 但它应该展示我想要实现的目标 define FOOLITERAL FOO want FO
  • ios - ARKit - 如何创建旋转对象手势功能?

    我是 ARKit 新手 我想创建一个旋转对象的函数 这是我关于拖动和旋转对象的代码 Rotate object objc func rotateRecognized sender UIPanGestureRecognizer let sce
  • 用于将用户发送至设备应用商店上的应用评论页面的 URL

    为了将 iTunes App Store 置于最前面并打开它以显示应用程序的评论页面 要启动的 URL 是什么 我想将我的用户发送到 撰写评论 页面 其他一些 SO 答案提供了如下 URL 但它似乎不起作用 itms apps itunes

随机推荐

  • 添加特定 unicode 表情时 Discord.js message.react 失败

    昨天我开始使用discord js 的指南编写一个机器人 The core https github com discordjs guide tree master code samples command handling file se
  • 多个 id 的更新语句

    我有 3 个表 我需要通过计算其他两个表的数据来更新第三个表的列 update table3 set column3 select t2 column3 t1 column3 from table2 t2 with nolock join
  • 如何迭代 WeakMap?

    JavaScriptWeakMap https developer mozilla org en US docs Web JavaScript Reference Global Objects WeakMap不允许您通过设计获取密钥 长度或
  • 如何将 IEEE-754 格式整数输出为浮点数

    我有一个无符号长整数值 它表示使用 IEEE 754 格式的浮点数 在 C 中将其打印为浮点数的最快方法是什么 我知道一种方法 但我想知道 C 中是否有一个更好的方便实用程序 我所知道的方式的例子是 union unsigned long
  • 使用数据绑定和 MVVM 处理 onClick 事件

    我想设置一个onClickListener on an ImageView using Databinding并控制它ViewModel MVVM 在 xml 布局中我实现的所有内容Databinding作品 但 onClick 事件不起作
  • 在返回 observable 之前操作数据

    我对 Angular 2 和 Observables 的概念还很陌生 然而 对于经验丰富的专家来说 我想要实现的目标应该相当简单 所以 我有一个组件 其中有subscribed来自服务的可观察值 出于测试目的 我一直在使用数据数组来使我的组
  • 无法通过 Style 设置列表框的 GroupStyle?

    我正在尝试创建一个样式来为我的 ListBox 控件设置 GroupStyle 属性 但是我收到编译时错误 The Property Setter GroupStyle cannot be set because it does not h
  • 滑动侧边栏菜单 IOS 8 Swift [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 有没有办法在 IOS Swift 中实现幻灯片侧边栏菜单 如 Facebook 应用程序 而不需要任何第三方库 我寻找解决方案 但我只
  • 一个好的(最好是免费的).Net 应用程序安装程序?

    我有一个使用 Sql Express 的 Net C 应用程序 开发已完成 现在我必须选择一些安装程序来部署我的应用程序 我尝试过 Microsoft Visual Studio 发布向导 但我又爱又恨它 我喜欢它 因为它可以检测客户端计算
  • Django 上的 memcache 不工作

    我有一个竞争条件Celery 受此启发 http ask github io celery cookbook tasks html ensuring a task is only execulated one at a time http
  • mysql 查询:按日期显示所有付款的摘要和发票总数

    I want this kind of result 从这些表中 我什至不知道如何用 php 来做到这一点 我什至尝试按日期加入付款和发票表 但没有成功 这是一个购买系统 此查询将按日期显示所有付款的摘要和发票总数 我想到了一个解决方案 首
  • 在Matlab中确定距海岸线的距离

    在 MATLAB 中 我有一组代表美国位置的纬度和经度对 我需要确定到最近海岸线的距离 我认为 MATLAB 有一个内置的美国经纬度数据库 我如何访问并使用它 关于如何有效确定距离还有什么建议吗 Update 后续问题 使用 meshm 时
  • 如何排除 Azure 数据工厂中复制数据活动中的行?

    我已经构建了一个具有复制数据活动的管道 该活动从Azure Data Lake并将其输出到Azure Blob Storage 在输出中 我可以看到我的某些行没有数据 我想将它们从副本中排除 在以下示例中 第二行没有有用的数据 Tenant
  • 使用“属性路由”时出现“无法找到类型或命名空间名称‘路由’”

    只是试图将一些代码从一个工作项目拼接到另一个工作项目 from 项目在您嵌入的位置使用 属性路由 Route Web API 控制器模块中的指令指示什么 HTTP 消息应路由到什么服务例程 在 from 项目中工作正常 但在 to 项目中我
  • Intellij IDEA 中的快速文档和自动弹出文档有什么区别?

    在我的 Intellij IDEA Ultimate 2017 1 中 我发现两个类似的选项 显示有关鼠标移动的快速文档 自动弹出文档 让我们本地化它们 文件 设置 编辑器 常规 常规 显示有关鼠标移动的快速文档 我看到在查看内联文档 ht
  • JavaFX 导出和 VM 参数

    我遇到的问题是无法导出 JavaFX 应用程序 我可以使用 VM 参数 IDE 内部和外部 运行它 但这远非最佳 我想要一个简单的 点击打开 体验 错误 缺少 JavaFX 运行时组件 并且需要运行该应用程序 我知道这个问题可以通过 vm
  • 如何提取消息的长度信息并从 TCP 字节流中仅提取那么多消息?

    我正在尝试通过 C 中的 Socket 发送消息 我已经阅读了许多与此相关的堆栈溢出问题 但仍然无法弄清楚它是如何工作的 假设我正在向本地主机服务器发送以下字符 M a r t i n 人们建议您可以使用 4 个字节作为长度 即 32 位
  • 在功能模块中导入 HttpClientModule

    The docs https angular io api common http HttpClientModule description on HttpClientModule say 在使用 HttpClientModule 之前 您
  • 转义 Ruby SQLite 插入的字符串

    我正在创建一个 Ruby 脚本 将一个大约 150k 行的制表符分隔文本文件导入到 SQLite 中 到目前为止是这样的 require sqlite3 file File new Users michael catalog txt str
  • UIApplication.sharedApplication.delegate.window 和 UIApplication.sharedApplication.keyWindow 有什么区别?

    谁能帮我理解以下两行之间的区别 UIApplication sharedApplication delegate window addSubview myView UIApplication sharedApplication keyWin