gpt4 book ai didi

ios - 是否可以在不使用 peek 的情况下添加 3D-touch?

转载 作者:搜寻专家 更新时间:2023-11-01 07:02:04 28 4
gpt4 key购买 nike

我有一组可以切换的 View (按钮)。它们用作过滤器。假设这是一个公共(public)交通应用程序,你会遇到“你想乘坐哪种交通工具旅行?”的问题,你会得到三个选项:“公共(public)汽车”、“渡轮”和“火车”。您可以单击它们中的每一个以禁用或启用它们。

我想实现对其中一个按钮进行 3D 触摸的功能,这会将特定按钮切换为 on,并将所有其他按钮切换为 off

我在应用程序中的几个地方使用了 3D 触摸,但总是使用 peek/pop。我正在努力添加 3D 触摸,而无需在 previewingContext 函数中返回 UIViewController。是否可以在 3D 触摸时简单地执行一个 Action ?

可以previewingContext(::) -> UIViewController? 中执行我的操作,但我不想返回一个 UIViewController 以供查看。如果我返回 nil,那么我不会得到 taptic(?) 反馈。一旦用户“可能”用力触摸,这个函数就会在实际按下之前调用。

最佳答案

事实证明,3D 触摸(或强制触摸或其他名称)并非通过UIViewControllerPreviewingDelegate 的实现可用。该委托(delegate)的工作是决定用 peek/pop 呈现什么,而 peek 和 pop 的核心功能可以通过普通的 UIGestureRecognizer 访问。我关注了this创建我自己的 ForceGestureRecognizer 的指南,但决定继承 UILongPressGestureRecognizer 而不是 UIGestureRecognizer (将其与现有功能结合)。该指南以及 this (使用 UINotificationFeedbackGenerator 创建轻微的震动反馈),再加上一些 CGAffineTransform - 基于触摸力的变化确实使它变得完美。

关于ios - 是否可以在不使用 peek 的情况下添加 3D-touch?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50580935/

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