隐藏纵向中的 UISplitViewController 覆盖

2024-03-08

在采用新的UISplitViewController我正在尝试更改使用时发生的默认行为UISplitViewControllerDisplayModeAutomatic mode.

在纵向工作时,我希望当用户触发推送到细节侧时隐藏主覆盖层。默认情况下,叠加层保留在屏幕上,直到用户点击细节侧。

我尝试对委托使用以下内容:

- (BOOL)splitViewController:(UISplitViewController *)splitViewController showDetailViewController:(UIViewController *)vc sender:(id)sender
{
    if (splitViewController.displayMode == UISplitViewControllerDisplayModePrimaryOverlay) {
        [UIView animateWithDuration:0.3 animations:^{
            splitViewController.preferredDisplayMode = UISplitViewControllerDisplayModePrimaryHidden;
        }];
    }
    return NO;
}

这给了我在纵向中所需的行为,但这破坏了横向模式(我希望表现得像UISplitViewControllerDisplayModeAllVisible)。如果您按下并旋转设备,左侧仍然隐藏(如预期)。我找不到合适的位置来重新设置旋转时的首选模式以显示左侧(因为特征集合不能用于区分 iPad 上的横向与纵向)。

如何手动触发叠加层的解除?

杜佩注意事项: iOS8已经改变UISplitViewController完全如此,所以 14 年 6 月之前的所有其他答案可能都是错误的(我已经挖掘了其中的许多答案,以防万一)


我和你有同样的问题。我在 Xamarin monotouch 平台上执行此操作,但我认为结果是相同的。

就像 LaborEtArs 所说的那样,将您的代码移至prepareForSegue:sender:主视图控制器的方法。然后将其设置为隐藏后将模式设置为自动:

if (splitViewController.displayMode == UISplitViewControllerDisplayModePrimaryOverlay) {
    splitViewController.preferredDisplayMode = UISplitViewControllerDisplayModePrimaryHidden;
    splitViewController.preferredDisplayMode = UISplitViewControllerDisplayModeAutomatic;
}

这样做之后,就不再破坏横向模式了。

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

隐藏纵向中的 UISplitViewController 覆盖 的相关文章

  • 不明白 Swift 中的闭包示例

    我正在尝试了解 swift 和闭包 我被这个例子困住了 numbers map number Int gt Int in let result 3 number return result 什么是 number Int gt Int 它是一
  • ios 在后台处理推送通知

    我想保存应用程序处于后台状态时到达的推送通知 我知道关于 void application UIApplication application didReceiveRemoteNotification NSDictionary userIn
  • 如何将 LC_LOAD_DYLIB 命令插入 Mach-O 二进制文件或将静态库加入现有二进制文件 (IOS)

    这是我第一次在 stackoverflow 上提问 我很绝望 我的任务是加载 dylib 或将静态库加入到 IOS 设备的现有可执行文件中 我将使用static void attribute constructor initialize v
  • 在视图之间传递核心数据实体变量

    我无法理解如何在视图之间使用核心数据实体变量 为了更好地理解我的问题是什么 我的代码如下 View A 基本上 您必须将完整预算实体或相关预算实体的 ID 从视图 A 传递到视图 B 由于不知道您的应用程序的视图层次结构和逻辑 我假设您选择
  • XCode 4.5 给我“SenTestingKit/SenTestKit.h”文件未找到,但适用于 4.4.1

    我刚刚安装了 XCode 4 5 它在我现有的项目之一上给了我一个 SenTestingKit SenTestingKit h 文件未找到错误 此错误仅发生在 XCode 4 5 中 但它在 4 4 1 上编译正常 我已经检查过SenTes
  • ios - 在哪里放置 s.static_framework = true

    我在 CocoaPods 中的级别为 0 当我使用pod install有一个错误说 The Pods App target has transitive dependencies that include static framework
  • iOS 视图控制器内存在被关闭后未释放

    当用户单击按钮时 它会显示一个带有两个视图控制器的新选项卡栏视图控制器 我是这样做的 ACLevelDownloadController dvc ACLevelDownloadController alloc initWithNibName
  • 设置/覆盖 UICollectionView 中单元格之间的填充

    我有一个 UICollectionView 但在获取单元格之间的填充时遇到了问题 理论上 我应该能够将屏幕除以 4 并且我可以获得包含 4 个图像的单元格大小 完美地占据屏幕宽度 但是 它选择不这样做 相反 它会创建 3 个具有巨大填充的图
  • iOS - 当 UIView 移动时将 UITextField 移动到不同的位置

    我有一个主 UIView 它通过开关向上移动 我有这个工作 那里没有问题 现在 UIView 当向下时 占据屏幕的大约一半 当它向上推时 它会显示底部 40px 在 UIView 中 当它处于向下状态时 它有一个 UITextField 并
  • Swift Codable 将空 json 解码为 nil 或空对象

    这是我的代码 class LoginUserResponse Codable var result String var data LoginUserResponseData var mess String public class Log
  • Parse.com 和 Facebook 登录,运行无限循环

    我将 Parse 和 Facebook iOS SDK 都更新到了最新版本 当我尝试使用 Facebook 登录时 我的应用程序崩溃了 从调试器中我可以看到它正在无限循环中调用 3 4 个方法 我的登录代码如下所示 void openSes
  • 从命令行调试 iOS 应用程序构建

    我正在通过命令行构建 iOS 应用程序 但在调试它时遇到问题 如果我使用 XCode 进行构建 它会让我在设备上 构建和调试 而不会出现任何问题 但现在 我不知道如何使用 gdb 在设备上启动它并逐步执行它 如果我尝试 添加自定义目标 可执
  • 自定义 UITableViewCell 选择样式?

    当我点击我的UITableViewCell 当我单击单元格时 背景部分 我的背景图像未覆盖的区域 会变成蓝色 另外 所有的UILabel单击时单元格上的 s 变为白色 这就是我想要的 然而 我不想要的是当我点击它时的蓝色背景 但如果我这样做
  • 如何在 iOS 中更改部分透明图像的颜色?

    我有一个具有部分透明度的单色图像 我有正常版本和 2X 版本的图像 我希望能够用代码将图像着色为不同的颜色 下面的代码适用于普通图像 但 2X 最终会出现伪影 正常图像可能有类似的问题如果是这样 由于分辨率的原因我无法检测到它 UIImag
  • 添加自定义过渡会导致 xib 加载错误的屏幕尺寸

    我正在尝试向具有 xib 的 UIViewController 添加自定义过渡 我尝试了几种方法 但它们都有相同的问题 视图显示的屏幕尺寸错误 我当前的示例基于以下教程 使用 Swift 在 iOS 中自定义 UIViewControlle
  • 以编程方式触发iOS摇动事件

    如何以编程方式触发 iOS 中的摇动事件 我尝试过以下方法 但它总是崩溃 void shake NSLog TEST UIMotionEventProxy m NSClassFromString UIMotionEvent alloc in
  • 个人帐户开发者之间的 Apple 开发/分发证书

    我一直在到处寻找有关处理证书的正确答案 想象一下以下帐户 Joe拥有个人 Apple 帐户 但他根本不会编码 他只是发布了该应用程序并将其称为自己的 Bob还有一个个人 Apple 帐户 Bob 是一位编码专家 Joe 付费让他开发他的第一
  • 我怎样才能勾勒出文本字体?

    我想在边框 轮廓 中显示另一种颜色的文本 我正在尝试使用在 MapOverlayView 中显示文本 text drawAtPoint CGPointMake 0 30 withFont UIFont fontWithName Helvet
  • NVActivityIndi​​catorView 仅适用于特定视图

    我正在使用这个库https github com ninjaprox NVActivityIndi catorView https github com ninjaprox NVActivityIndicatorView用于显示加载指示器
  • 如何反转 CGPath 的点顺序

    我想画一个圆圈 并用它打出字母 为此 我需要顺时针抚摸圆圈 逆时针抚摸字母 这一切都很好 但是当我使用 Core Text 获取字母路径时 我不知道如何从本质上反转该路径 不是镜像或旋转或任何东西 这很简单 我希望点笔画顺序是逆时针的 这实

随机推荐

  • 如何使用用例关系 - uml

    嘿伙计们 我一直在研究 UML 并且正在尝试设计问题的用例图 假设我的应用程序包含以下内容 两个要求 创建团队 创建玩家 这是这笔交易 用户可以创建一个球队 创建球队后可以为该球队创建球员 非必需 但在这个应用程序中有多个用户 一个用户可以
  • 将Django模型父类添加到现有模型中以实现多表继承

    The Django 文档 https docs djangoproject com en 1 9 topics db models multi table inheritance使用此示例来演示多表继承 from django db im
  • LINQ查询中的自连接并返回视图

    我正在使用 LINQ 自联接查询在视图上显示数据 我的 sql 表包含一些员工详细信息 我需要显示员工详细信息及其经理姓名 因为它是表中的 ManagerID EmpID Name ManagerID Designation Phone A
  • “导出声明类型 Xyz”与“导出类型 Xyz”中的声明意味着什么

    在定义文件中 写入以下两者是有效的 export declare type Abc string export type Bcd string The declare这里的关键字没有任何作用 对吗 正确的 declare当您需要说明执行时会
  • Visual Studio 2017状态栏颜色

    VS2017 至少是我刚刚安装的最新更新 在主窗口的底部有一个闪亮的蓝色状态栏 在视觉上非常突出 由于这是整个屏幕上唯一的大亮蓝色物体 因此非常分散注意力 有没有办法改变颜色 根据这个答案 https stackoverflow com q
  • 如何从 android studio 发出拉取请求?

    我将应用程序分叉到 android studio 当我尝试发出拉取请求时 I get Can t Create Pull Request Push failed failed to push some refs to https githu
  • 如何在一种解决方案中调试/单元测试 Web APi

    有没有一种方法可以在一个解决方案中对 Web api 进行单元测试或调试 我正在使用 HttpClient 使用 WebAPI 并且有两个 VS 实例来执行此操作 在 1 个 VS 实例中 我进行了单元测试 在第二个 VS 实例中 我在 l
  • RavenDB 中的子字符串搜索

    我有一组类型的对象Idea public class Idea public string Title get set public string Body get set 我想通过子字符串搜索这个对象 例如 当我有标题对象 idea 我希
  • 使用 GDB 调试 va_list args

    我尝试调试 Va list 参数并打印变量值示例代码是 include
  • 在 Azure WebRoles 中启用 HTTP 严格传输安全 (HSTS)

    如何为 Azure WebRoles 启用 HTTP 严格传输安全 HSTS 接受的答案令人困惑 并且正确答案 https serverfault com questions 417173 enable http strict transp
  • 在解决方案资源管理器中折叠项目

    如何使用键盘折叠 展开解决方案探索中的所有项目 In Visual Studio 2013 it is finally just part of solution explorer with a Collapse All icon 早期版本
  • 使用 MySQL Workbench 搜索所有表

    我可以使用 MySQL GUI 在所有表中搜索字符串吗 或者是这样的 mySQL 查询在数据库中的所有表中搜索字符串 https stackoverflow com questions 7523039 mysql query to sear
  • -symbolic 和 -shared GCC 标志之间有什么区别?

    从文档的描述来看 它们似乎做了同样的事情 除了 并非所有系统 支持共享并且 只有某些系统 支持符号 尚不清楚这些是否是同一组系统 共享 生成一个共享对象 然后可以将其与其他对象链接起来 形成可执行文件 并非所有系统 支持这个选项 对于可预测
  • opencl支持布尔变量吗?

    openCL 支持布尔变量吗 我目前正在使用 JOCL java 编写我的 openCL 调用代码 但我没有看到任何有关布尔值的信息 tl dr 是的 但是你应该在内核函数签名中避免它 是的 但a的大小bool is not定义的 因此 它
  • 为 .NET Framework 项目创建基于 Linux 的 Docker 文件

    我有一个 ASP Net Framework 4 8 项目 我想为此项目创建一个基于 Linux 的 Docker 文件 但我在 NET Framework 的 Docker 文件中找不到基于 Linux 的映像来用作基础映像 如何为此创建
  • Rails3 Mysql2::Error: 未知列 - ActiveRecord::StatementInvalid

    我是在这个级别上使用 Rails 中的数据库的新手 我已经寻找了几个小时 但还没有找到解决这个特定问题的方法 版本 Rails 3 2 9 Ruby 1 9 3 MySQL 5 5 28 mysql2 gem 2 9 0 Mac OS 10
  • 如果 lt_dlopen 失败,如何获取更多信息?

    我正在打电话lt dlopen并收到通用文件未找到错误 翻译后的 errno 文本 我怎样才能获得有关实际失败的更多信息 因为该文件肯定存在 这是一个加载 C 库的 C 程序 在同一个程序的其他地方 我使用相同的命令打开其他库 没有问题 因
  • “zipAlignExe”不存在。在 Android Studio 上运行我的项目时出错

    我在下面遇到错误 Error A problem was found with the configuration of task project1 zipalignDebug gt File D Program Files Android
  • Eclipse 的最佳 JVM 设置是什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 隐藏纵向中的 UISplitViewController 覆盖

    在采用新的UISplitViewController我正在尝试更改使用时发生的默认行为UISplitViewControllerDisplayModeAutomatic mode 在纵向工作时 我希望当用户触发推送到细节侧时隐藏主覆盖层 默