codecamp

1.8 动画(Animation)

1.8 动画Animation

细微、精美的动画遍布iOS的用户界面他们使应用的体验更具吸引力更具动态性。适当的动画可以

  • 传达状态和提供反馈
  • 增强直接的操纵感
  • 将用户的操作可视化

译者注以上为视频截图完整视频请点击观看

谨慎地增加动画特别是在那些无法提供沉浸式体验的应用中。过多和无理由的动画会阻碍应用的流畅性降低性能还会分散用户在操作中的注意力。

尤其是要有目的地合理地应用动效和UIKit中的动态控件并确保对结果进行测试。合理地使用动效可以提升用户的理解程度和愉悦感应用过度使用动效会给用户带来迷惑和难以掌控的感觉。

如果可以保持自定义动画和内置动画的一致性。用户习惯于内置iOS应用使用的精细动画。事实上用户倾向于把视图之间的平滑切换对设备方向改变的流畅相应和基于物理的滚动效果看做是iOS体验的一部分。除非你的应用要给用户提供类似游戏应用的沉浸式体验这种情况下自定义的动画可以区别于内置动画。

使用风格类型一致的动画。自定义动画之间也需要保持一致性这样可以让用户在使用应用以之前建立的经验为基础。

一般来说自定义的动画要考虑动画的现实性和可信性。人们乐意接受自由的艺术创作但是当动效不合理或者违反物理学时用户会感到困惑。例如当你从屏幕顶部下滑拖出一个视图的时候你也要上滑将它收起因为这么做可以帮助用户记住这个视图从何而来。如果你下滑到屏幕底部关闭这个视图用户关于从屏幕上方呼起的心理模型就会被打破。

1.7 交互性与反馈(Interactivity and Feedback)
1.9 品牌推广(Branding)
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }