【发布时间】:2011-12-10 17:29:18
【问题描述】:
我想知道如何解决我遇到的问题。我有一个基本上为开关设置动画的图像序列。
我想在 iOS 中实现它。你会怎么建议我去做呢?也许使用 UIButton?或者更确切地说是 UISwitch?
【问题讨论】:
标签: ios uibutton core-animation uiswitch
我想知道如何解决我遇到的问题。我有一个基本上为开关设置动画的图像序列。
我想在 iOS 中实现它。你会怎么建议我去做呢?也许使用 UIButton?或者更确切地说是 UISwitch?
【问题讨论】:
标签: ios uibutton core-animation uiswitch
对于一个相当简单的解决方案(点击开关,无法滑动),我建议您使用堆叠的两个 UIView。
-1- 在底部,使用UIImageView,它允许您运行图像动画。
-2- 在顶部,使用 UIControl 将捕获 touché-up-inside 事件。
或者,您可以使用UITapGestureRecognizer 代替-2-。仅当生成的控件不用于 iOS
只要您的点击识别器(UIControl 或UITapGestureRecognizer)收到点击事件,您只需播放通过您的UIImageView 提供的动画。
有关使用 UIImageView see its class reference 的动画的更多详细信息,特别是 animationImages(图像数组)之类的内容。
由于 UIImageView 没有为您提供反向动画功能,因此您必须在动画返回开始之前以相反的顺序分配图像(即在用户将其打开之后,现在切换回关闭)。
对于更复杂的解决方案(点击开关,可以滑动),您可以将UISwipeGesture Recognizer 添加到您的自定义控件并使用该UIGestureRecognizer 的状态来选择您的UIImageView 的当前可见图像。
【讨论】:
iOS 5 允许您制作动画 UIImages。您可以将动画 UIImage 直接放入 UIButton 并在按钮按下时对其进行动画处理。 Animated UIImage
【讨论】: