iOS 动画开发全解析
1. 动画基础概念
动画是属性随时间的变化,通常是界面中某个元素的可见属性。属性变化可以是位置上的,如元素平滑移动或改变大小;也可以是其他类型的,如视图背景色从红色平滑过渡到绿色,或者视图从不透明逐渐变为透明。
没有帮助的话,大多数人会觉得实现动画很困难,因为涉及到计算、计时、屏幕刷新、线程等诸多复杂问题。不过,现在实现动画变得简单了,你只需描述动画,系统就会帮你执行,按需实现动画。有时,设置一个属性值就能触发动画,例如:
myLayer.backgroundColor = UIColor.red.cgColor // animate to red
苹果希望开发者能更方便地使用动画,因为动画不仅酷炫有趣,还能清晰地表明界面元素正在发生变化或做出响应,这对 iOS 界面的特性至关重要。
举个例子,早期的一个 iOS 应用是基于一款 macOS 游戏开发的。在 macOS 版本中,用户点击卡片来选择,被选中的卡片会高亮显示,点击不符合条件的卡片时计算机会发出蜂鸣声。但在 iOS 上,这些指示方式不够有效,高亮显示效果不明显,而且用户可能关闭了音量或正在听音乐,无法使用声音警告。所以在 iOS 版本中,动画成了卡片选择和点击不符合条件卡片的指示方式:选中的卡片会急切地晃动,点击不符合条件的卡片时整个界面会抖动,就像要甩掉这次点击一样。
2. 绘制、动画与线程
iOS 绘制到屏幕有个有趣的特点:绘制并非在你发出绘制命令时立即进行。当你发出需要重绘视图的命令时,系统会记住该命令并标记视图需要重绘。等你的代码
iOS动画开发全解析
超级会员免费看
订阅专栏 解锁全文
2547

被折叠的 条评论
为什么被折叠?



