gpt4 book ai didi

iphone - 如何像 JetBlue iPhone 应用程序一样从屏幕外轻轻拖动面板

转载 作者:可可西里 更新时间:2023-11-01 05:24:04 26 4
gpt4 key购买 nike

我正在寻找一种方法来将部分隐藏的工具面板从屏幕上滑出,就像 JetBlue iPhone 应用程序所做的那样。我知道如何使用常规滑动手势识别器执行此操作,但该应用程序有一定的阈值,在该阈值之后面板会“捕捉”到屏幕上的位置,否则它会隐藏在屏幕外。

如何使用阈值类型的手势识别器实现这种滑动显示?是否有任何开源项目可以进行这种 UI 操作?

最佳答案

我编写的应用程序中有一个类似的界面元素。我的界面元素是整个工具面板的 UIViewController。我将 UIButton 放在抓手插图上,将按钮的类型更改为自定义,使其在视觉上消失。我将 Touch Drag Inside 和 Touch Drag Outside 连接到 IBAction,该 IBAction 根据拖动的移动位置调整面板的位置。我将 Touch Up Inside 和 Touch Up Outside 连接到最终确定 View 定位的 IBAction。如果触摸事件发生在离底部太近的地方,我就关闭面板。如果它发生在高于该阈值的任何地方,我将打开面板。我使用 UIView 的动画方法来平滑这些过渡。在 JetBlue 应用程序中看到的过度扩展元素可以在拖动事件处理程序中完成。随着面板越来越接近极限,随着触摸的每次移动,打开 View 的量越来越小。然后在最后确定时,只需将面板设置为动画回到它的首选结束位置。

JetBlue 应用程序与我的应用程序的不同之处在于,我的应用程序的抓取区域很小,但 JetBlue 的应用程序允许您滑动整个面板以调整位置。为了匹配该功能,我将调整我的实现以完全覆盖带有按钮的面板。每个人都会响应我的拖动事件,并且拖动会设置一个标志。然后我的修饰事件处理程序将检查标志是否已设置。如果是这样,完成面板的拖动。否则,执行与每个按钮关联的适当操作。

关于iphone - 如何像 JetBlue iPhone 应用程序一样从屏幕外轻轻拖动面板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9810549/

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