我知道 SE 上有几个与此问题相关的帖子,但我无法绕过它们来找到适合我的情况的正确解决方案。
我在视图控制器中有一个地图视图。我正在展示另一个视图控制器modalPresentationStyle
set as custom
(容纳卡片视图)在地图视图 VC 的顶部:
对于这种情况,我想要的是,当位置卡视图与位置卡一起呈现时,地图视图仍然能够识别触摸,而位置卡仍然能够识别其内部的触摸。就像呈现以下列表视图时 Apple 地图的功能一样。
我知道我无法通过视图控制器传递触摸,但我无法在两者之间做出决定:
- 将位置卡转储到地图视图中,我非常不喜欢,
- 通过出示位置卡
addChildViewController
我不太确定如何实现才能达到我想要的效果。
这个SE问题给出了详细的答案和一个关于模仿苹果地图界面的小示例项目,尽管我仍然不知道如何解决我的问题。
我选择将位置卡视图转储到地图视图中。BUT我不喜欢它。
问题是我不想要地图视图中位置卡的任何逻辑。但与此同时,iOS 没有提供基础设施,视图控制器之间的触摸传输基本上是不可能的,并且建议的解决方法似乎很难实现。
首先,我将位置卡视图从视图控制器迁移到结构体。
然后,我定义了一个名为LocationCardPresentable
当扩展时,需要Self
成为类型MapVC
。因此,在协议扩展内部,我可以像在 MapVC 内部一样工作,但实际上不是。协议扩展有多种方法来显示和消除位置卡,我可以从内部调用这些方法MapVC
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)