iOS 景观左、右、错

2024-03-27

TL;DR:iOS 文档不同意Info.plist关于哪个方向(横向左与右)的主页按钮位于哪一侧。我错过了什么吗? (例如,代码的方向有区别thinks它所在的位置以及设备的方向knows它在。请参阅下面标记为 ❓ 的倒数第二个要点。)

该文档用于UIDeviceOrientation https://developer.apple.com/documentation/uikit/uideviceorientation says

但是,当我在 Xcode 中使用常规复选框时,Info.plist文件说opposite:

上述信息已经足够清楚地说明了这一矛盾。我的问题是:我是否遗漏了一些东西,或者我应该将其视为工具链/文档/API 中持久的残骸?


实际上是什么happens当应用程序在模拟器或设备上运行时,您会问吗?以下是我收集的数据的子集。为了您阅读方便,我强调了术语“左”和“右”。你的大脑可能仍然会爆炸。

需要跟踪三个数量:

  • Xcode/plist 说什么
  • 模拟器菜单项的含义[或设备方向is]
  • API 调用了什么UIDevice.current.orientation says.

当设置常规复选框时solely到“左风景”:

  • The Info.plist文件显示“横向(左侧主页按钮)”[即不同意文档]
  • The Simulator launches
    • 屏幕图像朝上 [即正确]
    • 选中“硬件”>“方向”菜单项“横向右”[即不同意 Xcode/plist]
    • 左侧有主页按钮 [即菜单项和主页按钮位置之间的关系与文档一致]
  • UIDevice.current.orientation == .landscapeRIGHT[IE。不同意 Xcode,但同意模拟器菜单]
  • Choosing menu item Hardware > Orientation > Landscape LEFT
    • 将屏幕图像翻转为上下颠倒[正确行为:无图像自动旋转]
    • 将主页按钮放在右侧[当然]
    • UIDevice.current.orientation == .landscapeLEFT[与文档一致/与 Xcode/plist 相反]
  • Launching iPhone with home button on LEFT:
    • 正确显示屏幕图像
    • UIDevice.current.orientation == .landscapeRIGHT[与文档一致/与 Xcode/plist 相反]
  • Rotating the phone 180°
    • 将主页按钮放在右侧[当然]
    • UIDevice.current.orientation == .landscapeRIGHT[IE。与app内容一致thinks正在发生,与设备的物理方向无关]
  • iPad 的行为与 iPhone 相同

我认为主要是Xcode UI和info.plist之间的矛盾问题。 Xcode UI 显示“Device方向”,而 info.plist 谈到“支持界面但正如我们所知,这两者是不同的东西,所以肯定有问题。

假设在两者之间, info.plistwins那么这些字段(适用于 iPhone 和 iPad)用于指定支持的界面方向。 IE。您也可以通过以下方式在特定视图控制器中覆盖相同的选项supportedInterfaceOrientations.

相反,引用的文档页面是关于Device方向,有自己的定义景观左:主页按钮在右侧。

现在,看着界面定向面罩docs https://developer.apple.com/documentation/uikit/uiinterfaceorientationmask,没有关于什么是真正的细节景观左,但旧的 Xcode UI 屏幕截图显示主页按钮位于左侧。参见例如从这个所以线程 https://stackoverflow.com/questions/12933089/i-want-to-make-my-appliaction-only-in-landscape-orientation-in-ios-both-ios-5-a:

EDIT:界面方向doc page https://developer.apple.com/documentation/uikit/uiinterfaceorientation相反有关于什么是的详细信息景观左:主页按钮位于左侧,如旧屏幕截图所示。

结论

所以,总而言之,在我看来:

  1. Xcode UI/info.plist 是关于支持的界面方向,它有自己的横向左/右定义

  2. 设备方向具有与横向左/右相反的定义

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

iOS 景观左、右、错 的相关文章

  • iOS 应用程序崩溃 com.apple.root.background-qos

    在应用程序中发现应用程序崩溃 我怀疑这可能是由于 firebase 观察者的代码而发生的 由于在用户案例中 用户可以从一个事件转到用户配置文件 参与此事件 然后从用户配置文件可以返回到此事件 我需要一个 ref 句柄来删除特定的观察者 因此
  • 使用本地化故事板进行即时本地化

    我正在开发一个应用程序 它有一个切换按钮可以在英语和阿拉伯语之间切换 并且应该是动态的 我正在使用该方法https github com maximbilan ios language manager https github com ma
  • 如何使用CAAnimation制作曲线/圆弧动画?

    我有一个用户界面 其中一个项目被删除 我想模仿 iOS 邮件中的 移动到文件夹 效果 小字母图标被 扔 到文件夹中的效果 我的会被扔进垃圾箱 我尝试使用它来实现它CAAnimation在图层上 据我在文档中阅读 我应该能够设置byValue
  • 允许在 Safari 上聊天应用程序使用 audio.play()

    由于苹果禁用了自动播放音频的功能HTMLMedia Element play https developer mozilla org en US docs Web API HTMLMediaElement play在没有用户交互的 java
  • 呈现 UIActivityViewController 时发出警告

    当我提出一个UIActivityController使用我得到的下面的代码 它被呈现 但控制台显示 Warning Attempt to present
  • iOS 13 UIActivityViewController 在图像保存后自动呈现以前的 VC

    我正在尝试实现 将图像保存到库 功能 然后返回到当前视图控制器 但在新的 iOS 13 上 它会返回到呈现当前视图控制器的视图控制器 PHPhotoLibrary requestAuthorization status PHAuthoriz
  • Android 和 IOS 是否可以在后台发送短信?

    我想制作一个应用程序 其主要功能取决于发送短信 在我开发 android native 之前 但现在我使用 React Native 来为 IOS 和 Android 制作它 在 Android 中 如果获得用户许可 可以在后台发送短信 但
  • 工作表关闭后 SwiftUI 导航栏项目框架未对齐

    在 SwiftUI 中关闭工作表后 导航栏按钮不可点击 以下是重现该问题的步骤 出示一张单子 将应用程序移至后台一小段时间 2 秒 恢复应用程序并向下滑动关闭工作表 现在导航栏按钮框架未对齐 点击的工作框架与按钮的可见框架不同 这在 iOS
  • 我如何知道我的 iOS 应用程序的蜂窝网络访问是否被禁用?

    我有一个 iOS 应用程序 它在应用程序启动时发出一些小型网络请求 资源更新等 如果用户在 iOS 设置中关闭应用程序的蜂窝网络访问 他们每次启动时都会收到 iOS 的有关网络使用情况的提示 有没有办法以编程方式知道此应用程序的蜂窝数据已被
  • iOS 中输入字段显示不同大小

    我有一个带有背景和固定宽度 高度的输入字段 它在我桌面上的所有浏览器中看起来都很好 但由于某种原因 它看起来更大iPad and iPhone 我在 CSS 中尝试了一些技巧 但到目前为止没有任何效果 width 120px importa
  • 更快地估计 CollectionView 中单元格高度的方法

    我的 UICollectionView 中有一个无限滚动 我注意到我估计单元格高度的方式是我的集合视图的瓶颈 我滚动收藏视图的次数越多 它就会导致一些长时间的延迟 有没有更好的方法来估计单元格的高度 这些单元格有不同的高度 因为我有一个UI
  • CALayerframe.size不等于bounds.size

    我在CALayer上遇到了一些奇怪的事情 最后发现CALayer的frame size不等于它的bounds size 这是我无法理解的 我知道frame是在super的坐标系中 bounds是它自己的坐标 并且通常的情况是frame or
  • 在实现文件中声明接口(Objective-C)

    在上一个版本的 xCode 4 3 中 我看到了预定义模板 例如我们的 Master Detail 模板 其中接口声明是在 m 文件中进行的 例如 在文件 MyFile h 中有 interface MyFile property nona
  • 为什么这会破坏 UILabel adjustmentFontSizeToFitWidth?

    iOS 7 Xcode 5 使用 UILabel 此代码可以工作 自动调整文本大小以适应 self testLabel numberOfLines 0 self testLabel lineBreakMode NSLineBreakByWo
  • 在 SwiftUI App 中实现深色模式切换

    我目前正在我的应用程序中研究深色模式 虽然由于我的 SwiftUI 基础 深色模式本身并不困难 但我正在努力选择将 ColorScheme 设置为独立于系统 ColorScheme 的选项 我在苹果人机界面指南中找到了这一点 https i
  • 如何使用自定义布局跳转到 UICollectionView 中的任何 Cell?

    我的水平 UICollectionView 中有 40 个单元格和一个按钮 当我点击按钮时 我可以从 5 号单元格跳转到 10 号单元格 但是一旦我想要转到另一个单元格 例如从 5 到 25 它不起作用 而是变为 0 code func s
  • 推送通知需要很长时间才能到达

    我在适用于 iOS 和 Android 的 Adob e Air 应用程序中遇到推送通知的奇怪问题 我正在使用 Milkman Games 的 Easy Push ANE 以及 One Signal 服务 问题是通知确实会到达 但有时 随机
  • 迁移大型 Core Data 数据库崩溃

    我有一个将产品存储在核心数据文件中的应用程序 这些产品包括作为 可转换 数据的图像 现在我尝试使用轻量级迁移添加一些属性 当我使用一个小型数据库对其进行测试时 它运行良好 但当我使用一个接近 500 MB 的大型数据库时 应用程序通常会因内
  • 如何在 Swift 编程中获得基于导航的模板功能

    我的项目需要一个导航控制器 并且我的应用程序最初有一个社交登录 一旦验证通过 用户将被推送到另一个视图 我在其中显示一个具有 2 个选项卡的选项卡控制器 我不知道如何在 Swift 编程中做到这一点 我已将视图控制器嵌入到导航控制器中 一旦
  • Swift 中的 AURenderCallback

    我正在创建一个使用音频单元的应用程序 虽然 Objective C 中有很多代码示例 包括 Apple 自己的 aurioTouch 等 但我正在尝试用 Swift 编写整个代码 我已经能够设置我的 AUGraph 并通过它运行一些音频 但

随机推荐

  • 如何使用dos批处理文件命令将日期设置为当前日期

    如何使用 dos 批处理文件命令将日期设置为当前日期 如果您需要在批处理文件中使用当前日期 则变量 date 有当前日期 echo date 23 02 2010 它使用您计算机的区域设置的格式 在我的电脑里是dd mm yyyy 自从 不
  • CMake 在 include_directories 中找不到正确的头文件/包含文件

    当我尝试编译时 我再次收到 架构 x86 64 的未定义符号 错误 我已经尝试了比这篇文章中实际记录的更多的内容 因为我已经忘记了我尝试过的所有内容 这是一个非常简单的设置should使用 CMake 很容易编译 当我对此运行 make 时
  • 如何使用 javascript 知道图像是否已加载

    我正在编写一个显示相册的网站 该页面正在加载拇指并在每张图片完全加载之前在它们上应用白色叠加层 我在本地编写了这个代码 效果很好 但是在我的服务器上上传文件并加载页面会带来一些显示错误 一些白色覆盖层不会淡出 因为 jQueryload函数
  • 如何使用命名管道在 c++ .dll 和 C# 应用程序之间发送消息?

    我正在制作一个用 C 编写的注入 dll 并且我想使用命名管道与 C 应用程序进行通信 现在 我在 C 应用程序中使用内置的 System IO Pipe net 类 并在 C 中使用常规函数 我在 C 方面没有太多经验 阅读 这是我的第一
  • C#:从 JSON 结构中提取/检索子节点

    我们如何从 C 中的 JSON 结构中提取或检索子节点值 我的应用程序正在使用 我需要检索name from city temp from list and 描述 from weather节点 我的 JSON 和类结构如下 cod 200
  • 如何在Excel工作簿之间复制和粘贴工作表?

    如果使用 VBA 打开两个 Excel 应用程序 如何将工作表从一个 Excel 应用程序 1 传输到另一个 2 问题是 程序员使用 JavaScript 当您单击将 Web 数据传输到 xl 工作簿的按钮时 它会打开一个新的 Excel
  • iOS 5 不允许将下载的数据存储在 Documents 目录中?

    我为我的客户制作了一个应用程序 将目标 iOS 保留为 4 但由于应用程序仍未提交到Apple store 我的客户正计划将其升级到iOS 5 0 为此我阅读了苹果的指导方针 https developer apple com icloud
  • symfony2 空 jsonResponse

    我的 JsonResponse 有问题 这是我的代码 repo this gt getDoctrine gt getRepository repoName users repo gt findAll return new JsonRespo
  • Django 模型:delete() 未触发

    我有一个模型 class MyModel models Model def save self print saving def delete self print deleting save 方法被触发 但 delete 没有被触发 我使
  • fxml getController() 返回 null

    我是 JavaFX 的新手 谁能帮我 这是我的代码 Stage stage new Stage FXMLLoader loader new FXMLLoader Parent root Parent loader load getClass
  • C# Blazor 错误 BL0005 - 正确设置组件属性

    我已经对此错误进行了研究 但只是不理解正确的解决方案 示例代码 直接取自供应商示例 https blazor syncfusion com documentation menu bar getting started https blazo
  • org.xml.sax.SAXParseException 文档中根元素后面的标记必须格式正确

    我知道有一些类似的线程 但它们对我没有任何帮助 我正在尝试通过 Java 创建 XML 文件 但我在这一行不断看到此错误doc db parse is 有人可以告诉我哪里错了吗 错误 Severe Fatal Error 2 2 The m
  • Matplotlib:仅将单元格颜色应用于某些列/单元格

    让我自己陷入了困境 我正在 Matplotlib 中创建一个基本表 通过 Pandas 但这不是问题 我想要完成的是创建一个表 其中第一列 将是字符串值 保持白色 但列 2 3 4 5 6 是浮动 整数 并将由自定义着色标准化颜色图 I v
  • Facebook 页面插件仅显示链接而不显示页面

    我的 facebook 页面插件只是向我显示一个链接而不是页面 我尝试将 http https 添加到 js src 但没有任何效果 我也在本地以及托管服务器上尝试过 但给了我相同的结果 div class fb page blockquo
  • PRIME ng 确认服务的 Angular 单元测试

    首先 我是角度单元测试的新手 我想对以下从数据中删除记录的方法进行单元测试 方法是 Confirm Button for deletion confirm name string id any this confirmationServic
  • 使用 sourcetree 将推送恢复到远程

    我不小心将一个功能分支推送到了远程主控 现在我想将 master 恢复到之前的提交 当我选择 将当前分支恢复到此提交 时 仅恢复本地分支 并且由于远程主分支领先 55 意外推送 我无法将刚刚恢复的本地主分支推送到远程 当在 SO 和 Goo
  • 将 data.frame 转换为 ff

    我想将 data frame 转换为 ff 对象 并使用 as ffdf 进行描述here https stackoverflow com questions 15787221 how can i apply ffdf to non ato
  • 如何将绘图线颜色从蓝色更改为黑色

    当我生成一组数据并尝试在 python 中为绘图线着色时 我陷入了困境 例如 我想在这里将线条颜色从蓝色更改为黑色 这就是我所拥有的 返回的是我从 pandas 获得的数据集 ax plt gca ax set axis bgcolor c
  • TCP打孔(NAT穿越)库什么的?

    我想用 C 进行 TCP 打洞 NAT 穿越 如果需要 可以使用集合服务器来完成 我发现http sharpstunt codeplex com http sharpstunt codeplex com 但无法让它发挥作用 理想情况下 我需
  • iOS 景观左、右、错

    TL DR iOS 文档不同意Info plist关于哪个方向 横向左与右 的主页按钮位于哪一侧 我错过了什么吗 例如 代码的方向有区别thinks它所在的位置以及设备的方向knows它在 请参阅下面标记为 的倒数第二个要点 该文档用于UI