iOS 6 - 导航控制器对某些视图进行横向旋转,而另一些视图仅进行纵向旋转

2023-12-06

我正在构建一个仅针对主视图(正常和颠倒)的纵向应用程序。 我已在项目设置/Plist 中设置了此设置,一切正常。 但是,我有一些模态视图可以执行诸如显示图像/视频之类的操作,并且我希望它们能够旋转到所有方向。

我尝试为 UINavigationController 添加一个类别,但没有成功。 我还在调用模态的 viewController 中添加了以下代码:

-(BOOL)shouldAutomaticallyForwardAppearanceMethods{
    return NO;
}
-(BOOL)shouldAutomaticallyForwardRotationMethods{
    return NO;
}

我已将以下代码添加到我想要允许所有方向的模态视图控制器中:

- (BOOL)shouldAutorotate {
    return YES;
}

- (NSUInteger)supportedInterfaceOrientations {
    return UIInterfaceOrientationMaskAll;
}

我缺少什么?有什么建议么?


在 iOS 6 上,旋转处理发生了变化。对于您所描述的问题,有几种方法。首先,在 plist 中,启用除纵向倒置之外的所有方向。

然后您可以使用以下解决方案之一:

  1. 使用仅允许旋转到纵向的 UINavigationController 子类。
  2. 对于所有控制器指定它们支持的旋转。
  3. 您可以重写应用程序委托中的方法。由于每当方向更改或推送新的视图控制器时都会在委托上调用该方法,因此您可以使用它临时启用/禁用应用程序的横向显示:

    // In AppDelegate.h:
    @property (nonatomic) BOOL portraitOnly;
    
    // In AppDelegate.m:
    - (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
    {
        return _portraitOnly ? UIInterfaceOrientationMaskPortrait : UIInterfaceOrientationMaskAllButUpsideDown;
    }
    
    // to switch to portrait only:
    ((AppDelegate *)[UIApplication sharedApplication].delegate).portraitOnly = YES;
    
    // to switch to allowing landscape orientations:
    ((AppDelegate *)[UIApplication sharedApplication].delegate).portraitOnly = NO;
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iOS 6 - 导航控制器对某些视图进行横向旋转,而另一些视图仅进行纵向旋转 的相关文章

随机推荐

  • 使用Python计算多边形形状文件中的点数

    我有一个美国的多边形形状文件 由各个州组成作为它们的属性值 此外 我有数组存储我也感兴趣的点事件的纬度和经度值 本质上 我想 空间连接 点和多边形 或执行检查以查看每个多边形 即状态 点在 然后将每个状态中的点数相加 以找出哪个状态具有最多
  • 唤醒锁未打开屏幕?帮助?

    我有一个信号让我的应用程序休眠指定的分钟数 使用 AlarmManager 然后将其唤醒 一切正常 只是屏幕不亮 我正在使用 BroadcastReceiver 类中的唤醒锁 KeyguardManager key KeyguardMana
  • 为什么 Java 有基数限制?

    我注意到 Java 中基数的最大限制是基数 36 这是一个任意的限制 还是Java有理由以这种方式限制基数 它是十进制位数 10 加上字母表中的字母数 26 如果允许基数为 37 则必须选择一个新字符来表示第 37 位数字 虽然它肯定会是p
  • 评估 Spark 广播变量的最大大小

    我正在尝试测量可以使用 Spark 广播广播的变量的最大大小 我没有找到关于这个问题的任何解释 有人测量过吗 Spark有广播大小的配置吗 广播限制现已增加至 8 GB 你可以找到详细信息here
  • 如何使用 MailboxProcessor 创建作业队列?

    我正在尝试使用 MailboxProcessor 建模异步作业处理框架 我的要求是启动 停止 暂停和恢复作业处理器 我可以使用 MailboxProcessor 构建暂停 恢复功能吗 另外我应该能够停止和启动 我正在尝试模仿 Windows
  • 致命错误:尝试解析 JSON 时,在 Swift 中展开可选值时意外发现 nil

    我尝试构建一个基于文档的 Cocoa 应用程序 当我尝试解析 JSON 时readFromData ofType error 方法 我得到一个错误 fatal error unexpectedly found nil while unwra
  • 使用map()和mutate()循环多个变量和参数

    我无法弄清楚如何有效地映射表中的多个参数和变量以生成新变量 在 真实 版本中 我基本上有一个数学函数生成中心估计 并且我需要运行一系列不同参数的敏感性测试 我正在尝试弄清楚如何在 tidyverse 中做到这一点 看起来 map 和 mut
  • 具有多个详细视图控制器的 UISplitViewController

    我正在制作一个 splitView 应用程序 我想要不同的详细视图控制器 我进行了很多研究 发现使用苹果 MultipleDetailView 控制器 但它没有完全采用 所以任何人都可以使用它 所以有什么方法可以完成这个意味着不同所有人的d
  • CakePHP AJAX 布局

    我正在使用 CakePHP 应用程序和 jQuery Mobile 在 CakePHP 应用程序中 RequestHandler 已打开 现在 jQuery Mobile 将所有请求作为 ajax 请求 但需要完整的页面 不仅是我视图中的内
  • 在 Spring MVC 中有条件地渲染 HTML

    是否有任何标签可以有条件地渲染 HTML 块 例如 Struts 有
  • 在 UIAlertView(iOS、Xamarin)上添加 UITextView,而不使用任何第三方库

    我想在 iOS 中显示一个对话框并添加一个UITextView到对话框的视图 这UITextViewtextView 包含带有电子邮件 电话和 url 的可点击链接的文本 我能够触发对话框 但只能使用标题和 确定 按钮 没有文本视图添加到对
  • Java,隐式调用重写方法

    现在在一些Java代码中我有这样的东西 class A void f A f class B extends A Override void f do some stuff super f class C extends B Overrid
  • 无法将 java.util.HashMap 类型的值转换为 String

    I have no idea how i can render this JSON on logcat 从firebase实时数据库获取数据的源代码 FirebaseDatabase database FirebaseDatabase ge
  • 为什么浮动操作按钮位于 BottomBar 后面

    我想要浮动操作按钮位于BottomBar中间和前面 而不是后面 请指导我解决这个问题我的图层代码如下
  • MVC 中的保存文件对话框

    如何在 MVC 应用程序中创建保存文件对话框 我找不到任何例子 提前致谢 通过使用Content Disposition返回要下载的文件时标题到附件 public ActionResult Download return File c wo
  • 重写 LogicalPlan 以从聚合中下推 udf

    我定义了一个 UDF 它将输入值加一 名为 inc 这是我的 udf 的代码 spark udf register inc x Long gt x 1 这是我的测试sql val df spark sql select sum inc va
  • 如何在 GtkTreeView 小部件中列出目录层次结构?

    我正在尝试在 pyGTK 中生成分层目录列表 目前 我有以下目录树 root folderA subdirA subA py a py folderB b py 我写了一个几乎可以工作的函数 def go root piter None f
  • [REFERENCE] 标签在参数声明中起什么作用?

    我正在用 Fortran 语言为一个软件编写一个自定义回调函数 例如here 包括以下参数声明 SUBROUTINE CONTACT FORCE TIME UPAR NPAR PEN RVEL JFLAG IFLAG RESULT DEC
  • 在 Django 1.8 中使用 MySQL 连接器时出现问题

    操作系统 CentOS 6 4 蟒蛇版本3 4 Django 版本 1 8 我研究过django框架 然后 我要转到存储部分 刚开始学习时 默认的数据库是sqlite 所以我更改了 settings py 文件中的一些值 DATABASES
  • iOS 6 - 导航控制器对某些视图进行横向旋转,而另一些视图仅进行纵向旋转

    我正在构建一个仅针对主视图 正常和颠倒 的纵向应用程序 我已在项目设置 Plist 中设置了此设置 一切正常 但是 我有一些模态视图可以执行诸如显示图像 视频之类的操作 并且我希望它们能够旋转到所有方向 我尝试为 UINavigationC