Tvos多层图片的使用

戴维营教育原创文章,转载请注明出处。我们的梦想是做最好的iOS开发培训!

Apple TV中的按钮或者Cell在获取焦点后,可以有一些有意思的阴影动态效果。这个效果可以通过视差图片很容易就实现。

Apple TV人机交互指南中说明tvOS中的UIImage支持两种专有的层叠图片格式LSR和LCR。其中LSR主要用于直接放入项目资源中,而LCR则主要放在服务器上,在运行的时候在按需加载。在层叠图片的制作上,苹果给我们提供了三种方法:

  • 名为”ParallaxExporter_Apps“的PhotoShop的插件。这个插件貌似只支持PhotoShop 2014和PhotoShop 2015。
  • 单独的“Parallax Previewer”应用,可以直接制作视差图片。
  • Xcode的Assets.xcassets直接创建。

制作视差图片时,我们需要做的是为每一层准备一张图片。关于每一层图片之间的尺寸关系,可以参考Apple TV人机界面指南,制作过程可以参考tvOS编程指南

需要注意的是我们制作的LSR文件,必须放置在Assets.xcassets中。如果直接像普通的图片一样拉入项目中,UIImageimageNames:方法并不能加载成功。

//可以加载Assets.xcassets中的LSR文件
//不能加载mainBundle中的其它LSR文件
let image = UIImage(imageNamed: "test")
//可以加载Assets.xcassets中的LSR文件
//不能加载mainBundle中的其它LSR文件
UIImage *image = [UIImage imageNamed: @"test"];

戴维营学院(高级开发视频): http://v.diveinedu.com

潜心俱乐部(iOS面试必备): http://divein.club