使用 iPhone X 的自动调整大小蒙版迁移项目

2024-01-02

我们有一些遗留项目仍在使用自动调整大小遮罩,在 iOS 11 和 iPhone X 之前一切都工作正常。随着安全区域布局指南的引入,支持 iPhone X 的最佳解决方案是什么?

  1. 我们可以将所有带有自动调整大小蒙版的界面转换为使用自动布局。考虑到视图是动态添加和调整的,这似乎是一项重大工作。

  2. 我们继续使用自动调整大小蒙版,但调整界面以添加 iPhone X 和 iOS 11 的插入边距。


以下是我如何通过使用 XIB 文件和自动调整布局大小的旧项目解决此问题的方法:

  1. 在 Interface Builder 中,启用 XIB 自动布局并打开安全区域。
  2. 选择视图中的所有 UI 元素,然后选择编辑器 -> 嵌入 -> 视图。此技巧保留所选元素的自动调整大小设置。
  3. 在创建的新 UIView 中,使用自动布局将顶部、前导、底部和尾部边缘设置为超级视图安全区域。

这对我的项目非常有用,可以快速支持我的许多 XIB 文件中的安全区域,而无需从自动调整大小更改为自动布局。

Wes

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

使用 iPhone X 的自动调整大小蒙版迁移项目 的相关文章

  • 我什么时候应该使用 CGM 设备组和主题?

    我正在考虑将 Google Cloud Messaging 合并到我的应用程序中 我想向与用户关联的所有设备发送消息 乍一看 它看起来像 GCM 的设备群组消息传递 https developers google com cloud mes
  • TypeError:cli.init 不是 React Native 的函数

    在 MacBook Air M1 芯片中运行 npx react native init appName 时 TypeError cli init is not a function at run opt homebrew lib node
  • iOS TestFlight - 外部测试人员未收到新版本通知

    我已经向外部 TestFlight 用户提供了一个应用程序 他们已收到电子邮件并按预期安装了应用程序 他们有版本 1 0 Build 1 不过 我现在已经上传了一个新版本 版本 1 0 版本 2 这已获得批准 在外部测试页面中 我添加并选择
  • 核心数据在没有明显原因的情况下恢复到之前的状态

    基于 Core Data 的 iOS 应用程序的一些客户报告称 他们偶尔会丢失数据 这些报告非常奇怪 这就是我想询问您对此的看法的原因 客户报告说 当他们在一段时间 几分钟 几小时或第二天 后重新打开应用程序时 他们的一些数据会丢失就像底层
  • Quickblox 聊天未进行身份验证

    我在我的应用程序中使用 Quickblox 进行一对一聊天 用户已经登录 但是当我尝试登录聊天时 出现以下错误 2014 03 31 12 42 09 532 MyChat 2175 3803 QBChat didNotAuthentica
  • UIView 子类中使用的 CAShapeLayer 不起作用

    我尝试了几个小时 用 CAShapeLayer 在 UIView 周围获得虚线边框 但我没有显示它 ScaleOverlay h import
  • 播放声音无延迟 iOS

    我找不到如何以低延迟播放真实声音的方法 我尝试使用 AVFoundation 音频播放器 巨大的延迟大约 500 毫秒 所以我尝试创建系统声音 如果运气不好 延迟大约为 200 毫秒 虽然不多 但对我来说没有用 我最多需要 50 毫秒 确保
  • 如何在 Safari 和 Native App 之间共享上下文?

    我有需要通过 Safari 设置一些上下文 上下文标记 然后从本机 iOS 应用程序读取该上下文 这样做的最佳实践是什么 到目前为止的一些想法 在 HTML 5 数据库中设置上下文 但我不确定这是否有效 因为该数据库可能只能从 Safari
  • CloudKit 获取当前用户的所有订阅

    我设法在 Apple CloudKit 中保存 更改和删除记录 我什至收到了与订阅相关的通知 但我不知道如何列出当前用户的所有订阅 到目前为止 这是我的代码 let operation CKFetchSubscriptionsOperati
  • iOS:保持应用程序在后台运行

    如何让我的应用程序在后台运行 我需要越狱我的 iPhone 才能执行此操作吗 我只需要这个应用程序每隔设定的时间间隔从互联网上检查一些内容 并在需要时发出通知 以供我自己使用 是的 不需要越狱 查看本文档的 实现长时间运行的后台任务 部分A
  • 我以前没见过的 CGRect 语法

    我在一些示例代码中看到了下面的语法 但不确定我是否理解它 CGRect imageRect CGRect size baseImage size 这只是初始化的一种简写方式吗CGRect相当于 CGRect imageRect CGRect
  • iOS 应用内购买沙箱测试显示我的密码错误

    我在 itunesconnect 中创建了一个 Sandbox Tester 帐户 并通过我在网络上注册的电子邮件验证了电子邮件地址 验证后 我尝试使用沙盒帐户在我的应用程序中购买商品 并收到更改密码的提醒 所以我做了 然后我尝试使用新密码
  • ios 8 opengl es 1.1 已停产?

    我们即将在 iOS 应用商店上推出一款游戏 最近我们发现它无法在 iOS 8 上运行 游戏加载到黑屏 但其他一切似乎都可以运行 可以听到音乐 对触摸屏有反应 但显示屏上没有任何反应 我们的引擎相当旧并且使用 OpenGL ES 1 1 我现
  • 设置使用 iPhone 相机拍摄的图像的类型

    如果我们使用 iPhone 相机拍摄照片 图像将默认以 JPEG 格式保存 我想以其他格式 例如 PNG 保存捕获的图像 是否可以 当我们从应用程序调用 iPhone 相机时 是否可以通过代码执行此操作 我们可以设置捕获图片后必须保存的图像
  • NSPredicate 查询不包含特定字符串

    对这个问题进行了高低查找 但找不到我的答案 我正在查询核心数据以查找不等于指定字符串的所有记录 例如 所有不等于当前会话ID的记录 我已经尝试过这些但无济于事 NSPredicate predicate NSPredicate predic
  • iOS UITableViewCell需要按两次才能调用didSelectRowAtIndexPath

    我有一个 UITableView 有时需要您触摸它两次才能选择一个单元格 更多细节 仅当表格一直向上或一直向下滚动后才需要两次触摸 只需第二次触摸即可呼叫didSelectRowAtIndexPath 当表格以自然的 向上滚动位置 打开时
  • 如何修复C风格的for语句?

    什么是正确的修复方法C 风格的 for 语句对于下面发布的代码 目前我正在交战 C 风格的 for 语句已弃用 并将在将来删除 斯威夫特的版本 var ifaddr UnsafeMutablePointer
  • Xcode 不会在故事板中显示我的文本字段占位符文本

    当我在属性检查器中分配文本字段的占位符值时 它不会显示在故事板中 但是 当我运行应用程序的模拟器时 它就在那里 我缺少什么设置吗 我只想能够在编辑器中看到占位符文本 下面是 xcode 和模拟器之一的屏幕截图 我遇到了同样的问题 幸运的是我
  • Swift 3 '[UIApplicationLaunchOptionsKey:任意]?'无法转换为 '[String : NSString]'

    我有一个 TVOS 应用程序已从 Swift 2 转换为 Swift 3 但出现以下错误 我不确定如何让它安静下来 UIApplicationLaunchOptionsKey 任意 无法转换为 String NSString 它出现在这段代
  • 在 iOS 中管理和解除多个视图控制器

    我是一名 iPhone 新手程序员 在开发我的第一个游戏 应用程序时 我为自己提出了一个问题 创造了一个问题 我对此进行了研究 并认为我已经看到了答案 但我不明白如何使它们适用于我的应用程序 我有一个游戏 有几个视图控制器 欢迎 玩 高分

随机推荐

  • 如何使用 SQL 数据库中的纬度和经度查找最近的位置?

    我想从以下数据库表中找到最近的位置 Address Latitude longitude Kathmandu 44600 Nepal 27 7 85 33333330000005 Los Antoniterstra e 37 09024 9
  • Lua 5.2 问题:lua_pcall 中的“尝试调用 nil 值”

    我在从 C 调用 Lua 5 2 函数时遇到问题 这是 Lua 块 名为 test lua function testFunction print Hello World end 这是 C int iErr 0 Create a lua s
  • IndexError:索引 14708 超出尺寸 295 的轴 0 的范围

    我正在尝试用 yolo 制作对象检测软件 但出现了这个错误 我迷失了方向 谁能帮我 代码不完整 如果这篇文章有任何错误 我很抱歉 因为我是新的 Stackoverflow 该教程来自 Traceback most recent call l
  • 您区分文本编辑器和 IDE 吗?

    我见过一些针对 IDE 问题的回复 其中建议使用文本编辑器 反之亦然 这让我认为人们将它们视为同一件事 我对此做出了明确的区分 如何定义 文本编辑器 和 IDE 您看到这两个工具之间有什么区别吗 请注意 我接受了一个我认为最能解决 文本编辑
  • Rails - 在保存到服务器之前将 DateTime 转换为 UTC

    我不知道如何 但我的控制台和服务器有两个不同的 DateTime now 时区 如果我在控制台中运行 DateTime now 则会返回以下内容 Wed 04 Dec 2013 14 27 23 0500 但是 我的任务模型中有以下内容 d
  • JavaScript 中求和指数

    var total 0 for x 1 x lt 16 x var y x 1 var singleSum Math pow x y Math pow y x total total singleSum document write tot
  • TypeScript 中关联对象数组的接口

    我有一个像这样的对象 var obj key1 apple key2 true key3 123 key n So obj可以包含任意数量的命名键 但值必须全部是字符串 布尔值或数字 我如何声明类型obj作为 TypeScript 中的接口
  • 在 Python 运行时创建对象

    当涉及到在运行时创建对象时 我在理解 OOP 概念时遇到了问题 我研究过的所有教育代码都定义了特定的变量 例如 Bob 并将它们分配给一个新的对象实例 鲍勃 人 我现在无法理解的是如何设计一个在运行时创建新对象的模型 我知道我的措辞可能有错
  • 如何计算日出和日落时间(matlab)?

    我需要在 Matlab 中计算日出和日落时间 但我找不到正确 且简单 的方法来做到这一点 我需要得到与以下内容相同的结果 https www esrl noaa gov gmd grad solcalc https www esrl noa
  • 实现 IEnumerable 时遇到问题

    我正在尝试编写自己的 简单的 List 实现 这就是我到目前为止所做的 using System using System Collections Generic using System Linq using System Text na
  • 限制直接 url 下载图像

    我不久前问过这个问题并得到了我认为可行的答案 但我仍然遇到问题 也许这是我做错的事 但我仍然没有这个权利 我想限制对整个目录的访问 该目录中包含图像和 pdf 文件 我需要创建 pdf 文档的链接并将图像嵌入到锚标记中 有人告诉我为此使用标
  • 将多个属性元数据添加到工作流活动中的依赖属性

    我正在 Windows 工作流中构建许多自定义活动 我需要添加一个 DependencyProperty 它可以list该属性的多个值 用户可以在使用活动时选择这些值 例如对或错 我知道如何使用 PropertyMetadata 简单地传递
  • 使用 JavaScript 循环遍历日期范围

    给定两个Date 对象 其中一个小于另一个 我如何在日期之间每天循环 for loopDate startDate loopDate lt endDate loopDate 1 这种循环会起作用吗 但是如何向循环计数器添加一天呢 Thank
  • ngOnInit 中未定义角度异步输入?

    我有一个父组件通过 API 将数据传递给子组件 如下所示 ts private loadData this data this apiService getData html
  • 在 Scala 中实现多级 Java 接口

    我有以下层次结构java for my interface public interface Identifiable
  • 在 ng-click 上调用超出范围的 javascript 函数

    我有一个 javascript 库 其中包含许多有用的函数 我在网站上使用它们来执行各种操作 我知道我无法通过 ng click 访问这些函数 因为这些函数超出了范围 有没有一种方法可以访问它们 而无需声明仅调用库中函数的作用域函数 Her
  • 如何从合并中排除文件?

    我刚刚开始了解 git 目前正在考虑合并 假设我有一个主分支 并创建一个名为子分支的分支 我在子分支上工作并更改了一些文件 现在我想将这个子分支合并到主分支中 git merge child 然而 子分支中有一些文件 也在主分支中 我不想合
  • swig、python 和 wchar_t 问题

    我是 Python C 绑定 swig 的新手 并且已经尝试解决这个问题有一段时间了 我有一个外部 C 库 Example c 我想从 Python 调用它 我阅读了 Swig 教程并能够立即生成包装器 现在的问题是 当我调用 API 时
  • 如何在最新版本的phonegap 2.9.1中找到cordova.jar?

    我下载了最新版本的phonegap 2 9 1 zip 文件 但它不包含 cordova jar 当我在 google 上搜索时 我得到了答案 例如将文件夹导航到 lib android framework 目录和 fire 命令 andr
  • 使用 iPhone X 的自动调整大小蒙版迁移项目

    我们有一些遗留项目仍在使用自动调整大小遮罩 在 iOS 11 和 iPhone X 之前一切都工作正常 随着安全区域布局指南的引入 支持 iPhone X 的最佳解决方案是什么 我们可以将所有带有自动调整大小蒙版的界面转换为使用自动布局 考