从 contentViewController 中解除 UIPopoverController?

2024-03-11

如果您想关闭弹出窗口 - 例如,从弹出窗口的 contentViewController 中的按钮,您必须 -

  1. 创建对弹出窗口的引用,该引用由创建它的视图控制器保存
  2. 从 contentViewController 创建一个通知,让所属视图控制器知道它应该被关闭,或者为相同目的创建一个委托
  3. 当弹出窗口准备好关闭时发送通知或委托消息
  4. Call dismissPopover:animated当通知或委托方法被调用时

与此同时,来自一个UIViewController您可以访问模态视图控制器、父视图控制器、导航控制器、分割视图控制器、选项卡栏控制器、搜索显示控制器、子视图控制器、呈现视图控制器和呈现视图控制器。

有没有更好的方法可以从弹出窗口的 contentViewController 中执行此操作?


不幸的是,您必须创建一个对所述的弱属性引用UIPopoverController因为无法从内容视图控制器内访问它。

我很惊讶 UIViewControllers 如何访问模式视图控制器、父视图控制器、导航控制器、分割视图控制器、选项卡栏控制器、搜索显示控制器,以及从 iOS 5 开始,子视图控制器以及呈现并提供了控制器...但不是弹出窗口控制器(当然弹出窗口不是UIViewController但仍然)。

从技术上讲,有一个私有的、未记录的方法来检索 UIViewController 所在的 popoverController...我不知道为什么他们从未将其公开,因为它应该与上述任何控制器完全相同。

尽管即使在私人的、无证的世界中,也没有等同的dismissModalViewcontrollerAnimated:。您仍然需要获取该参考信息,然后以这种方式将其忽略。

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

从 contentViewController 中解除 UIPopoverController? 的相关文章

  • 在 iOS 中管理和解除多个视图控制器

    我是一名 iPhone 新手程序员 在开发我的第一个游戏 应用程序时 我为自己提出了一个问题 创造了一个问题 我对此进行了研究 并认为我已经看到了答案 但我不明白如何使它们适用于我的应用程序 我有一个游戏 有几个视图控制器 欢迎 玩 高分
  • 为什么单个 Vec4 乘法会大大减慢我的 ogl es 2 片段着色器的速度?

    我正在为 iOS 设备编写 2D OpenGL 游戏 现在 我正在研究 iPad 第一代 上的性能 该游戏有 ogl 1 1 和 2 0 的代码路径 我可以通过 define 使用 ogl 2 0 时 分析器告诉我 我的渲染器利用率 相当稳
  • 为什么我们在 @synchronized 块中传递 self ?

    我猜 synchronized 块不依赖于对象 而是依赖于线程 对吗 既然如此 我们为什么要传递 self 呢 synchronized是语言提供的用于创建同步作用域的构造 因为使用简单的全局共享互斥锁效率非常低 因此序列化每个单独的互斥锁
  • Firebase 连接管理器应仅返回一个结果

    我正在关注位于以下位置的文档 https www firebase com docs ios guide offline capability html section connection state https www firebase
  • 使用 Push Transition 效果更改 RootViewcontroller

    在我的iOS应用程序中 我需要更改应用程序之间窗口的rootviewController 因此 当我动态更改我的rootviewcontroller时 它会在更改之前轻拂视图 但我想要的是在更改rootviewcontroller时提供平滑
  • 对 UIImage 进行方形裁剪,导致图像拉伸

    当尝试执行 UIImage 的中心裁剪时 我得到以下结果 左侧是原始图像640 1136 右边是适合正方形的裁剪图像UIImageView at 320 320 turns to 我对比率元素进行了相当多的修改 以便它可以正确检测要修剪的量
  • 在 iOS 中录制音频并永久保存

    我制作了 2 个 iPhone 应用程序 可以录制音频并将其保存到文件中并再次播放 其中之一使用 AVAudiorecorder 和 AVAudioplayer 第二个是苹果的在这里说话 http developer apple com l
  • iOS 内存警告

    我正在尝试使用从 Parse 数据库下载的图像填充集合视图 但我收到内存警告 然后偶尔崩溃 有谁知道其他应用程序如何设法呈现这么多图像而不崩溃 有人可以告诉我如何优化我已有的东西吗 这是所有相关代码 https gist github co
  • 从 RemoteIO 保存音频的示例?

    我进行了搜索 但没有找到任何从 RemoteIO 音频单元保存音频的好示例或教程 我的设置 使用 MusicPlayer API 我有几个 AUSamplers gt MixerUnit gt RemoteIO 音频播放效果很好 我想添加将
  • 如何使用自签名证书为 TLS 创建 iOS NWConnection?

    我正在尝试将 Apple 的新 NWConnection 类用于我的 MQTT 客户端 为了进行测试 我需要能够创建到本地测试代理的 TLS 连接 该代理具有自签名证书 到目前为止 我只是使用以下命令设置连接 self connection
  • iPhone 标签栏上的未读计数

    在 Cocoa Touch 上实现 TabBar 上图标的未读计数的最佳方法是什么 我想模仿 SMS 或邮件应用程序的行为 向我的应用程序的用户显示未读消息计数 并使用包含数字的红点 您正在寻找的属性称为徽章 您可以通过执行以下操作来设置它
  • 如何在 Xcode 4 中通过一个操作归档多个目标

    我有一个包含多个目标的项目 这些目标都适用于不同的 iOS 应用程序 例如 一个用于精简版的目标 另一个用于专业版的目标 我想立即构建并归档我的所有应用程序 目前 我对每个目标都有一个方案 我用它来独立归档每个应用程序 但现在我必须开始归档
  • 如何在ios中以编程方式添加水平间距和垂直间距?

    我在 ios 8 中创建了一个应用程序 因为我有 4 个可垂直使用的标签 它应该在某些条件下更改位置 所以我已禁用自动布局并以编程方式设置约束 现在的问题是 我可以设置水平和垂直位置 宽度和高度的约束 但我找不到任何方法来添加标签之间的水平
  • 如何在 EKRecurrenceRule 中设置一周中某一天的数组?

    我想在用户选择的特定日期每周添加事件 可以是一个或多个 也可以是一整天 我将用户选择的日期值存储在模型类变量中 但是 当我添加事件并选择日期时 假设今天是星期一 我选择星期二和星期三并保存 然后我查看周一和周三添加的 iPhone 日历 我
  • 为什么 GDB 调试器不断冻结 Xcode 4?

    这真是一个奇怪的错误 我正在开发一个使用相机源的 iPhone 项目 并通过 OpenGL 着色器运行它以对其应用效果 然而 每次我在代码中简单地创建一个新的 GLfloat 时 调试器都会在启动时冻结 我无法复制和粘贴文本 因为整个 XC
  • 播放(非库)Apple Music 内容 - 请求失败

    我正在尝试使用以下代码播放专辑 let predicate MPMediaPropertyPredicate value 1459938538 forProperty MPMediaItemPropertyAlbumPersistentID
  • 如何自动为 Swift 类创建初始化程序?

    UPDATE 使用结构而不是类 struct 在很多方面都更好 它有自己的初始化器 这是我的模型课 是否有可能创建init自动方法 每次我都必须将所有变量一一初始化 这会花费很多时间 class Profile var id String
  • iOS 发送 iMessage 尽可能简单

    我希望能够以编程方式发送 iMessage 除了调用一个将文本发送到带有消息的号码的函数之外 无需执行任何其他操作 这两个消息都是文本框 我真的很感激一些示例代码 因为我在网上搜索过 但我发现没有任何帮助 这不适用于商业应用程序 仅适用于我
  • 如何使用 afnetworking 在后台上传任务

    我正在尝试使用 AFNetworking 上传大文件 并在应用程序处于后台时继续上传 我可以很好地上传文件 但是当我尝试使用后台配置时 应用程序崩溃并显示以下堆栈跟踪 异常 EXC BAD ACCESS 代码 1 地址 0x8000001f
  • 下标:使用字符串枚举访问我的字典值

    我想做类似的事情 使用字符串枚举访问我的字典值 我试图重载字典的下标但没有成功 访问字典 let district address JsonKeys district 其中 JsonKeys 是 enum JsonKeys String c

随机推荐

  • 循环地址对齐如何影响 Intel x86_64 上的速度?

    我发现相同的 C 代码编译为完全相同的机器指令但位于不同对齐的地址时性能下降了 15 当我的小主循环从 0x415220 开始时 它比从 0x415250 开始时要快 我在 Intel Core2 Duo 上运行它 我在 x86 64 Ub
  • 在 Mac OS 下设置 COBOL 编译器?

    在我的大学里 我们正在学习 COBOL 我正努力在明年上课之前抢先学习 COBOL C 和 Java 问题是 COBOL 是so旧的 很难在 mac 中获得对它的支持 我的笔记本电脑是 mac 我知道它在 Mac 上运行良好 但找到可以解释
  • 如何以全屏模式启动 NSWindow

    我正在 Xcode 5 中为 Macos 开发一个应用程序 我想全屏显示我的第一个窗口 没有工具栏 只有我的视图 我找到了一种在角落显示全屏按钮的方法 AppDelegate m void applicationDidFinishLaunc
  • BCL(基类库)与 FCL(框架类库)

    两者有什么区别 我们可以互换使用它们吗 基类库 BCL 字面意思就是基础 它包含基本的基本类型 例如System String and System DateTime 框架类库 FCL 是更广泛的库 包含全部内容 ASP NET WinFo
  • 使用 docker-compose 时无法连接到 postgres

    我是 docker 的新手 仍在学习如何使用它 我正在尝试使用 docker compose 一起运行 Django 和 Postgres 它们运行完美 迁移完成 一切顺利 但我有一个问题 无法使用 pgAdmin4 连接到数据库来查看数据
  • C# 序列化到文件,如果存在则覆盖

    我有以下方法 如下 您可以看到它将对象序列化为 XML 文件 我遇到的主要问题是我想获得覆盖文件 如果存在 的函数 我知道如果该文件确实存在 我可以先删除该文件 但这也意味着我可能会导致一些错误拖入我的应用程序 所以我想要一个全有或全无的覆
  • volley 磁盘缓存内存不足问题

    在我的 Android 应用程序中 我使用 Volley 在自定义列表视图中加载图像 当我多次刷新 删除所有项目并加载 tiem 列表视图时 我的应用程序被这条消息杀死 我该如何修复它 04 26 13 08 01 038 E dalvik
  • tmux:挂起并且不加载,并且不响应任何选项命令

    我已经在 Fedora 的本地空间上从源代码安装了 tmux 到目前为止 它运行良好 但突然无法再运行它 当运行 tmux 时 它就停止了 尝试了不同的命令选项 例如 ls sessions 但没有任何效果 杀死我的用户的所有进程 删除 t
  • maven 编译无法识别我的本地存储库依赖项

    我有一个本地 jar 文件要导入到我的文件夹中 并且我已经运行了 mvn install mvn install install file Dfile C myapp Development core target api core 1 0
  • 如何在启动 iex 会话时执行一些命令?

    假设我想在项目的根路径中启动 iex 时实现一些命令 例如 Logger configure level info require Ecto Query alias MyApp User and so on 我想在每次启动 iex 时自动执
  • SimpUserRegistry 不包含任何会话对象

    我是 Websockets 新手 我一直在尝试使用 SimpUserRegistry 来查找主体的会话对象 我编写了一个自定义握手处理程序 将匿名用户转换为经过身份验证的用户 并且我能够从 Websocket 会话对象访问主体名称 自定义握
  • EWS:日历共享邀请和扩展属性

    好的 到目前为止 我获得的有关该主题的最佳信息是在这个线程上 EWS API 创建日历并与审阅者共享权限 https stackoverflow com questions 7503613 ews api create calendar a
  • PHP + PDF,如何使用curl保存下载的PDF?

    Welcome 我在页面上保存下载的 pdf 时遇到了一些问题 要下载 pdf 我使用 Curl CurlConnect curl init curl setopt CurlConnect CURLOPT URL http website
  • PHP内存限制锁定为256MB?

    我试图将内存限制设置为 512M 但它被锁定为 256M ini set memory limit 512M ini get memory limit gt Returns 256M 我可以完全控制我的服务器 这是专用的 请注意 512M
  • REST WebAPI 接口作为 API 调用中的参数

    我正在使用 ASP NET WebAPI 构建 REST API 一切工作正常 但后来我想到了在所有方法调用中使用接口的好主意 更改所有方法后 我注意到将控制器方法中的参数设置为接口后 我的 API 调用不起作用 我正在使用 OWIN Se
  • 访问类中的会话变量

    当需要检索或保留会话值时 在类构造函数上使用 session start 是否被认为是正常的 最佳实践 除非从 construct 调用 session start 否则无法从类中检索会话变量 session start if isset
  • 在Google云平台上使用FFMPEG

    我将音频文件存储在 Google Cloud Storage 上 通过 Firebase 存储 我需要使用 FFMPEG 将音频文件从立体声 两个通道 转换为单声道 一个通道 如何在 Google Cloud Platform 上进行上述转
  • java.io.IOException:不支持标记/重置

    我知道这个问题已经被问过很多次了 但在某些情况下有所不同 所以我无法弄清楚 当我在 Eclipse 中运行游戏时 一切都很顺利 游戏运行完美 但在导出后 它崩溃了 我可以打开游戏并在菜单中移动 但没有播放任何声音 并且在我点击播放后 游戏就
  • 查找数组中第一个非零值索引

    我有一个数组数组 0 0 0 0 3 2 5 6 15 9 0 0 7 23 我可以用类似的东西 indexOf 0 如果我想找到第一个零值索引 但是如何找到第一个非零值的索引或符合某些条件的索引 它可能看起来像 indexOf funct
  • 从 contentViewController 中解除 UIPopoverController?

    如果您想关闭弹出窗口 例如 从弹出窗口的 contentViewController 中的按钮 您必须 创建对弹出窗口的引用 该引用由创建它的视图控制器保存 从 contentViewController 创建一个通知 让所属视图控制器知道