在 iOS 里 100% 还原 Sketch 实现的阴影效果

还原不了设计师视觉稿的开发者不是一个合格的页面仔。

Sketch 是 APP 设计的神器,大部分设计师都选择它作为 APP 界面的设计工具。

在 Sketch 里设置一个阴影,效果图和参数如下:

在 iOS 里 100% 还原 Sketch 实现的阴影效果

 

 

在 iOS 里 100% 还原 Sketch 实现的阴影效果

 

 

开发实现

在 iOS 里实现阴影的方式是使用 UIView 的 layer 属性。

layer 里与阴影有关的设置是以下几个属性:

  • shadowPath
  • shadowColor
  • shadowOpacity
  • shadowOffset
  • shadowRadius

与 Sketch 里阴影参数的对应关系是:

  • shadowPath ~> 阴影的范围
  • shadowColor ~> 阴影的颜色
  • shadowOpacity ~> 阴影的透明度
  • shadowOffset ~> X 和 Y
  • shadowRadius ~> 阴影的模糊
在 iOS 里 100% 还原 Sketch 实现的阴影效果

 

 

根据上图的对应关系,在代码里实现就是(shadowView 的大小是 100x100):

在 iOS 里 100% 还原 Sketch 实现的阴影效果

 

 

以上代码运行的效果如下:

在 iOS 里 100% 还原 Sketch 实现的阴影效果

 

 

100% 还原了 Sketch 的设计,完美了。

值得一提的是:layer 阴影和圆角是可以共存的,而且阴影路径也需要考虑圆角的值。

为了使用方便,为 CALayer 添加一个设置阴影的扩展:

在 iOS 里 100% 还原 Sketch 实现的阴影效果

 

 

使用很简单,传入的值和 Sketch 里的阴影参数一样就行:


在 iOS 里 100% 还原 Sketch 实现的阴影效果

 

推荐

上一篇:喊话程序员:Sketch设计作图切图利器,你值得拥有。


下一篇:SQL Server-语句类别、数据库范式、系统数据库组成(一)