【问题标题】:Custom UIButton on TouchDownTouchDown 上的自定义 UIButton
【发布时间】:2015-12-11 03:21:09
【问题描述】:

我有兴趣制作一个自定义 UIButton,它在按住 X 秒时会触发自定义事件。我希望按钮周围有一个边框,因为它被按住以表明它正在做某事,当它是一个完整的边框时它被执行。

我的问题是,实现这一点的最佳方法是什么?我应该查看 UIViews 还是 UIButtons?

我找到了这个tutorial series,但它显示了如何绘制按钮,但没有创建自定义事件,您可以定义它们何时被触发。

我之前在一些应用中看到过类似的按钮,比如 SnapChat,我只是想知道它是如何实现的。

感谢任何帮助,

干杯

【问题讨论】:

    标签: ios swift uiview uibutton


    【解决方案1】:

    您的 UIButton 位于 UIView 中,并且该按钮是 UIView 的子类。当您按下按钮时,它应该连接到 IBAction。当调用 IBAction 时,您需要启动一个计时器,并在按钮仍然按住时开始为您需要的任何更改设置动画。如果用户在计时器完成之前释放按钮,您可能会取消您正在执行的任何操作。如果用户继续按住按钮,您将继续制作动画。请记住,按下按钮时调用 IBAction 的一般方式是在用户释放(抬起手指)时调用。在您的情况下,您将希望在用户点击按钮并在它被引发之前立即调用该事件。您还需要在计时器运行时跟踪用户的手指是否仍在按钮内或按钮外。如果用户将手指从按钮上滑开,您可能希望使计时器无效并停止任何按钮动画。

    【讨论】:

    • 感谢您提供的信息 xdeleon!我在想这会是这样的事情,只是不确定是否有更合适的方法来做到这一点。那么我会将动画应用于 UIButton 吗?我不完全确定我将如何制作该动画,但只是想确保我的目标是正确的。
    • 工作分解是:跟踪用户按下按钮并在按下时运行计时器。一旦 Timer 完成触发适当的动作(即调用一个方法来做某事)。让这件作品首先工作并进行测试。一旦成功,那么您必须添加代码,以便在计时器运行时为按钮设置动画。我不确定你的动画是做什么的,所以我不能补充。我会在谷歌上搜索“动画 uibutton”。此外,如果您不太熟悉某些绘图代码的工作原理,请考虑查看 PaintCode 以更熟悉 iOS 上的绘图/动画。 paintcodeapp.com
    • 非常感谢您提供paintcodeapp.com 链接。我一定会检查出来的。我正在寻找一个圆形 UIButton 动画,其周围有一个边框。完成边界意味着它已经完成并且将调用一些函数。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-08
    • 1970-01-01
    • 2011-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多