gpt4 book ai didi

ios - 触摸时呈现 View Controller

转载 作者:行者123 更新时间:2023-11-28 21:19:15 24 4
gpt4 key购买 nike

我想实现一个按住预览按钮,它会弹出一个包含 AVPlayerLayer 的 View ,只要触摸没有结束,它就会播放。视频播放器包含在不同的 View Controller 中,我希望能够在呈现它时使用 presentViewController:animated:,而不仅仅是将其添加为 subview 和 subview Controller 。

我的问题是关于如何处理触摸事件。我看到两种可能的方法:

  • 我尝试将事件的触地事件转移到呈现的 View Controller (不确定是否可能),或者
  • 我尝试让原始 View Controller 的手势识别器保持事件状态,然后让视频 View Controller 知道何时该关闭自身。我希望这可以通过将呈现的 View Controller 的 userInteractionEnabled 设置为 false,或者使用 UIViewControllerTransitioningDelegate 呈现它,然后跳过调用 completeTransition: 来实现或类似的东西(我相信在你完成动画之前触摸不会在新 View 上注册,但如果我错了请纠正我)。

最佳答案

My question is about how to deal with the touch event.

触摸总是与它们开始的 View 相关联。您不能将触摸转移到不同的 View 。我从未尝试过,但我认为您应该首先探索的选项是:

  • 使用 View Controller 包含。让您的预览 View Controller 成为触摸源的 subview Controller 。这样,父级及其 View 层次结构就永远不会消失,尽管它们可能会被掩盖。

  • 将手势识别器附加到窗口。窗口是一个 View ,应该能够有手势识别器。您可以将手势识别器的目标设为应用委托(delegate)或始终存在的其他对象,并让委托(delegate)在识别器被触发时发布通知。同样,我还没有尝试过,但它似乎应该有效。

关于ios - 触摸时呈现 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40395116/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com