与后面的视图控制器交互

2023-12-06

我知道 SE 上有几个与此问题相关的帖子,但我无法绕过它们来找到适合我的情况的正确解决方案。

我在视图控制器中有一个地图视图。我正在展示另一个视图控制器modalPresentationStyle set as custom(容纳卡片视图)在地图视图 VC 的顶部:

Location Card on Map View

对于这种情况,我想要的是,当位置卡视图与位置卡一起呈现时,地图视图仍然能够识别触摸,而位置卡仍然能够识别其内部的触摸。就像呈现以下列表视图时 Apple 地图的功能一样。

我知道我无法通过视图控制器传递触摸,但我无法在两者之间做出决定:

  • 将位置卡转储到地图视图中,我非常不喜欢,
  • 通过出示位置卡addChildViewController我不太确定如何实现才能达到我想要的效果。

这个SE问题给出了详细的答案和一个关于模仿苹果地图界面的小示例项目,尽管我仍然不知道如何解决我的问题。


我选择将位置卡视图转储到地图视图中。BUT我不喜欢它。

问题是我不想要地图视图中位置卡的任何逻辑。但与此同时,iOS 没有提供基础设施,视图控制器之间的触摸传输基本上是不可能的,并且建议的解决方法似乎很难实现。

首先,我将位置卡视图从视图控制器迁移到结构体。

然后,我定义了一个名为LocationCardPresentable当扩展时,需要Self成为类型MapVC。因此,在协议扩展内部,我可以像在 MapVC 内部一样工作,但实际上不是。协议扩展有多种方法来显示和消除位置卡,我可以从内部调用这些方法MapVC.

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

与后面的视图控制器交互 的相关文章

随机推荐

  • 如何将更改从中间件传递到socket.io?

    我使用 node js 和 socket io 向用户推送实时通知 但是 目前我只是发送回在我的 socket io 代码中完成的查询结果并将其发送回客户端 但我需要让套接字知道发生的更改 并更新更改或重新查询数据库检查新号码并将其发送给客
  • PHP 将输出刷新到浏览器

    我从事 PHP 项目并使用flush 我做了很多搜索 发现 PHP 将脚本的长输出分块发送到浏览器 并且在脚本终止时不会发送所有大量数据 我想知道这些数据的大小 我的意思是 PHP 必须输出多少字节才能将它们发送到浏览器 不仅仅是 PHP
  • 如何从不寻常的 JSON 存储创建 Ext.data.Store?

    我有这个 JSON 存储 但它的编码不正确 它的正确语法是什么 Ext define MA store Language extend Ext data Store fields name id name name data aa Afar
  • pthread_cond_wait:随机分段错误

    Update 3 最近 我注意到我的代码随机导致分段故障错误 但我认为到目前为止我的代码非常简单 我无法弄清楚该错误来自哪里 由于它是随机发生的 我假设存在某种竞争条件 我认为这就是可能相关的所有代码 如果您需要更多 请告诉我 namesp
  • 检查在线状态,例如通过 ping

    我正在使用 VB NET 为 Windows 10 IoT 开发通用 Windows 应用程序 我正在检查两件事 首先是是否有任何网络 我在用 Imports System Net NetworkInformation NetworkInt
  • 如何在不使用其父级的情况下设置 SimpleXmlElement 的文本值?

    我想设置 xpath 找到的某个节点的文本
  • Angular.js $resource 结果

    我发现 Angular resource 的行为非常奇怪 请检查以下代码行 class Service constructor resource gt service resource record id Service list cb g
  • malloc如何理解对齐?

    以下摘自here pw widget malloc sizeof widget 分配原始存储 事实上 malloc 调用分配存储空间 那足够大了并且适当对齐以固定物体类型的 小部件 另见快速实现他从赫伯 萨特那里说 结盟 任何内存对齐 任何
  • 忽略返回值语法?

    在 Matlab 中 tilda 符号可用于忽略返回多个参数的函数中的某个参数 但是 当我在 Octave 中尝试相同的代码时 出现语法错误 我有两个问题 为什么 Octave 不支持这个 即错误 未来的增强 设计决策等 Octave 中的
  • 使用 jackson-dataformat-xml 仅忽略 json 中的字段,而不忽略 xml 中的字段

    Using Jackson与jackson dataformat xml模块 我能够序列化POJO二者皆是JSON and XML 我的对象中有一些字段 xml 属性 只能序列化为XML但不是JSON 如果我应用 JsonIgnore注释
  • 如何访问HttpServletRequest中的POST参数?

    我有一个应用程序 它基本上是服务的代理 该应用程序本身基于 Jersey 构建并由 Jetty 提供服务 我有这个资源方法 POST Path default Timed Consumes application x www form ur
  • php绑定动态数量的变量进行批量插入查询

    我有一个网络服务 用户可以在其中提交动态数量的问题 在 php 方面 我使用explode 和 删除每个问题 然后我需要进行批量插入 到目前为止我所做的如下 checkInQs explode trim POST checkInQs che
  • 如何在 D3 旭日图中正确旋转文本标签

    在下面的 D3 旭日图中 http jsfiddle net maxl eabFC attr transform function d return rotate d x d dx 2 Math PI 2 Math PI 180 左象限中的
  • JSF 2.0 PrimeFaces 渲染器覆盖

    我正在尝试扩展一些 primefaces 组件渲染器类以进行相同的更改 我在 faces 配置中注册新渲染器
  • 如何获取英语单词数据库? [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我需要一个包含每个有效英语单词的数据库 我检查了 usr share dict words文件 它包含少于 100k 字 维基百科说英语有 475k 个单词 我在哪里可以获得完整的列
  • 如何将 Java 程序转换为 .exe 文件?

    如果我有 Java 源文件 java 或类文件 class 如何将其转换为 exe 文件 我的程序还需要一个安装程序 java打包器 Java Packager 工具编译 打包并准备 Java 和 JavaFX 应用程序以供分发 javap
  • 需要关于随机函数 swift 的解释

    关于我的随机函数有一个问题 为什么会出现此错误 4294967295 is not exactly representable as Float it becomes 4294967296 我的代码是 func random gt CGFl
  • isMemberOfClass 的用法;返回错误

    在下面的代码中 我认为第二个条件为真 但结果为假 我错过了什么吗 请帮助我理解 NSArray array NSArray alloc init NSLog NSStringFromClass array class if array is
  • 无法捕获任务 android studio 的输入文件的快照

    我正在尝试制作 android studio 项目 我在 Android 设备管理器中运行项目没问题 但是当我尝试在真实设备上运行时出现一些错误 Error Failed to capture snapshot of input files
  • 与后面的视图控制器交互

    我知道 SE 上有几个与此问题相关的帖子 但我无法绕过它们来找到适合我的情况的正确解决方案 我在视图控制器中有一个地图视图 我正在展示另一个视图控制器modalPresentationStyle set as custom 容纳卡片视图 在