TouchDown上的自定义UIButton

时间:2015-12-11 03:21:10

标签: ios swift uiview uibutton

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

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

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

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

感谢任何帮助,

干杯

1 个答案:

答案 0 :(得分:1)

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