在选项卡栏控制器 -> 导航控制器 -> 视图控制器的层次结构中旋转视图控制器

2024-02-22

我的应用程序的视图控制器层次结构设置如下:

UITabBarController
    |
    UINavigationController
    |  |
    |  UIViewController
    |
    UINavigationController
       |
       UIViewController

此层次结构中的所有视图控制器都会覆盖该方法:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation

并返回YES- 因此视图控制器应该能够旋转到任何旋转 - 即使颠倒。

然而,在此设置中,没有一个视图控制器能够成功旋转。我的印象是,如果导航和标签栏控制器的视图控制器响应旋转,它们就会旋转。

为什么我的视图控制器不旋转?

我能够让它们旋转的唯一方法是通过子类化UINavigationController并覆盖它shouldAutorotate方法,但这对我来说没有必要,我想知道我是否遗漏了一些东西来完成这项工作。

Edit:

根据用户体验编码指南:

如果您还使用工具栏,则每个工具栏项的视图控制器必须实现 shouldAutorotateToInterfaceOrientation: 方法,并为您希望支持的每个方向返回 YES。如果您有工具栏项的导航控制器,则该导航控制器的根视图控制器必须实现 shouldAutorotateToInterfaceOrientation: 方法并返回 YES。

它说“工具栏” - 但我认为这是一个拼写错误,可能应该是“选项卡栏”。

所以看来我正确地实现了这一点,但我的控制器仍然不自动旋转。


我遇到过这个问题,但我不记得它发生的确切原因。当询问特定方向时,选项卡栏控制器要求其所有视图控制器响应“是”,以便旋转到该方向。

如果以模态方式呈现,似乎与底层 VC 系统无关。

我创建了一个测试来证明这一点(GitHub 上的旋转测试 https://github.com/danielctull/StackOverflow-RotationTest),但这一切似乎都有效。希望我能记得为什么我在某个时候失败了。

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

在选项卡栏控制器 -> 导航控制器 -> 视图控制器的层次结构中旋转视图控制器 的相关文章

  • 如何在 Swift 编程中获得基于导航的模板功能

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

    我需要能够从库中选择视频并将其上传到我的服务器 我可以录制新视频 captureVideo 并上传 文件传输 没问题 但我似乎找不到任何方法来打开视频库并选择视频然后上传 有什么办法可以做到这一点吗 以某种方式更改 MediaType na
  • 使用 json-framework 解析 iphone 应用程序中的 JSON

    我是 iPhone 开发新手 我在我的应用程序中使用货币转换器 我不知道如何用这个 url 解析 jsonhttp www google com calculator http www google com calculator 我想发送我
  • iPhone OpenGL ES 单视图还是多视图?

    我很困惑为 iPhone 编写游戏时最好的方法是什么 游戏将使用 OpenGL 渲染 但我很好奇创建开始屏幕 菜单 高分页面等 您是否使用 OpenGL 完成所有这些操作 或者创建额外的 UIView 并使用 UIKit 我认为没有最好的方
  • 如何在 UI 视图上显示两个表

    我想在 UI 视图上使用和显示两个表 请让我知道如何执行此操作 任何相同的代码也将受到赞赏 谢谢 桑迪普 将 2 个 UITableView 添加到 IB 中的视图中 并将它们连接到文件所有者中的 2 个不同的出口 或者简单地分配不同的标签
  • iPhone SDK:拖动 UIImageView 时出现问题

    我正在尝试在我的应用程序中拖动 iPhone 屏幕上的 UIImageView 目前我设置的拖动功能很好 拖动图像确实会在屏幕上移动它 问题是你不必拖动图像视图来移动它 你也可以拖动屏幕上的任何地方 它会移动图像 我是这个平台的新手 所以我
  • 使用 iOS swift AVPlayer 在横向模式下不全屏

    我将视频视图设置为全屏 然而 在模拟器中玩时 它并没有全屏运行 此问题仅适用于 iPad 不适用于 iPhone 这是我的代码 override func viewDidAppear animated Bool super viewDidA
  • 小视频播放

    根据我从互联网收集的信息 MPMoviePlayerController 类不支持小视频播放 因此 为了死马当活马医 我想知道可以使用什么样的方法来让小视频在屏幕的一角播放 而不中断屏幕的其余部分 到目前为止 我们已经遇到了两种可行的解决方
  • 基于 ID 的 UiLocalNotifications

    是否有关于根据那里的 Id 存储 UIlocalNotifications 并根据那里的 Id 取消通知的教程 在本地通知中 您有此词典的用户词典 您可以取消通知 http www picksourcecode com ps ct 1612
  • 如何检测 iOS 8 上的包含应用程序是否启用了应用程序扩展?

    我正在 iOS 8 beta 上开发一个自定义键盘 我想告诉用户如果我的自定义键盘未启用 如何在包含应用程序中启用它 有什么方法可以检测应用程序扩展是否已启用 首先让我们设置一些常量 以便于彼此理解 包含应用程序 安装扩展并保存扩展二进制文
  • Mobile Safari (iPhone) CSS 垂直居中/行高 CSS 问题

    有一个问题 我一直试图在各个项目中解决 但运气不佳 我有一些divs 内的文本以 CSS 为中心 使用display block and line height 我也尝试过padding和固定的高度 通常 这些设置要么只是标题 要么有时是按
  • Excel 工作表到 iPhone 数据 -- A 点到 B 点

    尽可能简单 我有一个非常简单的 Excel 电子表格 只有 1000 多条记录 我想将其用作 iPhone 应用程序的静态数据源 最好的进攻计划是什么 我心中的可能性 1 直接读取XLS作为数据源 是否有Obj C库用于此 2 将XLS 转
  • 将滚动事件从 uibutton 传递到 uiscrollview

    我有水平的UIScrollView这是从UIScrollView我添加了UIButtons水平地 我只能滚动到按钮区域之外 但如果我想滚动到任何按钮就会触发UIControlEventTouchUpInside事件 我不想要这个 我想开火U
  • 我如何用 javascript/jquery 进行两指拖动?

    我正在尝试创建当有两个手指放在 div 上时拖动 div 的功能 我已将 div 绑定到 touchstart 和 touchmove 事件 我只是不确定如何编写这些函数 就像是if event originalEvent targetTo
  • iPhone AVFoundation 相机方向

    我一直在绞尽脑汁地试图让 AVFoundation 相机以正确的方向 即设备方向 捕获图片 但我无法让它工作 我看过教程 看过 WWDC 演示 还下载了 WWDC 示例程序 但即使这样也没有成功 我的应用程序的代码是 AVCaptureCo
  • presentRenderbuffer :GL_RENDERBUFFER_OES 需要很长时间

    我在游戏中添加了一个分析器并隔离了此功能 有时 它会导致 FPS 下降 这是我的结果 Present buffer time 22 Present buffer time 1 Present buffer time 9 Present bu
  • 横向旋转到纵向时的字体大小怪异 - CSS 媒体查询 - iPhone5 Safari

    我已经用谷歌搜索了这个 但无法弄清楚 谢谢你的帮助 Studiolynch com 响应式和流体布局 在 iphone 5 Safari 中完美运行 除了从横向模式旋转到纵向模式会使字体大小小于应有的大小 但是 如果您最初以纵向模式加载页面
  • 将语音添加到自定义 UIMenuController

    我创建了一个自定义UIMenuController in a UIWebView但它似乎摆脱了 说出选择 选项UIMenuController在那之后 所有测试设备上的 偏好设置 中都打开了发言选择选项 并且它出现在其他应用程序中 包括非
  • 如何更改 UINavigationController 后退按钮名称?

    我有一个UIViewController我正在从第一个视图控制器导航到第二个视图控制器 我想更改显示在navigationcontroller为了回去 SecondViewController secondController Second
  • 我如何从 iPhone 设备获取电子邮件历史记录..?

    friends 我想从我的 iPhone 访问电子邮件历史记录 并且还希望在收到新邮件时收到通知 如果可能的话 请向我提供源代码片段 Thanks 简而言之 使用任何已记录的 API 都是不可能的

随机推荐

  • 无法通过延迟绑定解析类

    some imports public class Menu final MenuMaker myClass GWT create MenuMaker class ERROR 我的 gwt xml
  • 在 Angular 5 中动态加载子组件

    我想以角度动态加载子组件 父组件将根据某些条件加载子组件 我们是否可以在父组件打字稿文件中定义子组件名称 并在 HTML 中使用字符串插值来加载组件 例如在父组件打字稿中 componentName someCondition compon
  • AngularJS 在 div 中预先输入搜索结果

    我使用 Bootstrap 的 typeahead 进行文本输入 该输入还有一个按钮可以弹出流行的结果弹出窗口 我想要预输入的功能 只是结果列表将显示在不同的 div 中 在弹出窗口内而不是在文本输入下 有没有办法为预先输入搜索结果设置 容
  • generic.GenericForeignKey() 字段可以为 Null 吗?

    我正在创建一个对象 该对象跟踪有关其他所谓的创建 更新和删除的更改 更新 UUIDSyncable数据库中的对象 这涉及任何扩展的对象UUIDSyncable班级的save and delete 方法被重写 从而创建一个新的Update记录
  • Android 中订阅 BLE 指示的示例

    我已连接到蓝牙设备 我能够使用读取特征 mGatt readCharacteristic getMiliService getCharacteristic uuid 但我无法注册某个特征的指示 我尝试过的 boolean flag1 m G
  • 如何在PythonMagick中处理多页图像?

    我想将一些多页 tiff 或 pdf 文件转换为单独的 png 图像 从命令行 使用 ImageMagick 我只是这样做 convert multi page pdf file out png 我将所有页面作为单独的图像 file out
  • 逐行读取并获取上一行和下一行

    我正在尝试逐行读取文件并获取当前行 上一行和下一行 例如 line1 line2 line3 line4 我想要的是 None line1 line2 line1 line2 line3 line2 line3 line4 这是我的尝试 p
  • 链接器符号 __TMC_END__ 和 __TMC_LIST__ 的用途是什么?

    我问过这个问题 https stackoverflow com questions 17605034 linker script relocate section并偶然发现 TMC END 似乎是由链接器生成的符号 我不知道它的目的是什么
  • /usr/bin/env: ln: 符号链接级别太多

    这个问题快要了我的命 我觉得我已经尝试了一切 首先 问题是在升级到 Capistrano 3 时开始出现的 Capistrano 现在在部署时在每个命令之前使用 usr bin env 以确保环境设置正确 当 Capistrano 创建指向
  • 在 Spring 测试中使用 @Autowired NoSuchBeanDefinitionException

    我有 spring mvc security 项目 我正在尝试从 JavaConfig 为其中一个控制器创建 junit 测试 但是当我使用 Autowired我得到异常 Caused by org springframework bean
  • 在 C# 测试装置中从 Nunit3 获取参数

    我使用 Nunit3 版本中提供的 params 参数来传递多个参数 但是 我无法使用 C 测试装置获取它们 我已经搜索过但无法得到正确的结果 有人可以向我提供有关如何在 C 中获取这些 param 参数的指示吗 任何帮助将不胜感激 提前致
  • 在 Premesis 或 Bluemix 等 PaaS 上使用 XPage 进行 DevOps

    使用 XPage 实现 DevOps 的最佳方式是什么 多个开发人员作为一个团队工作 本地服务器 Dev QA Prod 我们可以复制到 Bluemix 吗 源代码控制自动化测试 UI 应用程序 使用测试框架对业务逻辑进行单元测试 自动化部
  • 没有 Eclipse 的 JDT?

    前段时间我写了一个 Eclipse 插件 它利用 JDT 来做一些解析 现在我正在考虑制作这个应用程序的命令行版本 当然 我希望重用解析代码 因此我需要让 JDT 在 Eclipse 之外工作 有什么方法可以实现这一点 也许构建一些包装器等
  • 如何将

    我有一个 div 我想旋转 90 度 div div 我怎样才能做到这一点 你需要 CSS 来实现这一点 例如 container 2 webkit transform rotate 90deg moz transform rotate 9
  • 根据方位角和距离计算纬度和经度

    我很难理解三角学 我试图从起始纬度 对数 距离和方位推断出目的地纬度和经度 幸运的是 我发现了一个很棒的网站 它准确地描述了我需要的功能 http www movable type co uk scripts latlong html ht
  • 如何检查 alamofire 中的互联网连接?

    我正在使用下面的代码在服务器中发出 HTTP 请求 现在我想知道它是否连接到互联网 下面是我的代码 let request Alamofire request completeURL domainName path method metho
  • 使用Output0Buffer类时SSIS脚本转换错误

    我试图通过提供用 c 编写的脚本来帮助我们的 dba 以便他可以在他的 ScriptComponent 中使用它 我有一个输入文件 逐行处理它并在 Output0Buffer 中创建一行 如中所述 我已经编写了测试方法并且工作正常 但是在将
  • 如何使用邮递员发布对象和列表

    我在用邮递员打包的应用程序 https chrome google com webstore detail postman fhbjgbiflinjbdggehcddcbncdddomop hl en发送帖子请求 我想请求以下控制器 如何使
  • 给定的 ColumnMapping 与源或目标中的任何列都不匹配

    我不知道为什么我会遇到上述异常 请有人看看 DataTable DataTable Time new DataTable Star Schema Dimension Time DataColumn Sowing Day new DataCo
  • 在选项卡栏控制器 -> 导航控制器 -> 视图控制器的层次结构中旋转视图控制器

    我的应用程序的视图控制器层次结构设置如下 UITabBarController UINavigationController UIViewController UINavigationController UIViewController