从 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? 的相关文章

随机推荐

  • 循环地址对齐如何影响 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 创建一个通知 让所属视图控制器知道