iOS如何为圆角添加阴影效果示例代码

 更新时间:2017年10月19日 09:20:09   作者:iOS_ziank  
最近一个项目中需要用到投影的效果,还要是圆角,通过查找相关的资料终于解决了,所以觉着有必要分享出来,下面这篇文章主要给大家介绍了关于iOS如何为圆角添加阴影效果的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。

前言

大家都知道在iOS中为UIView添加阴影还是比较简单的,只需要设置layer的shadow属性就可以了,但是问题在于设置阴影之后,必须设置masksToBounds为NO,而圆角图片则要求masksToBounds必须为YES,两者相互冲突,会导致无法正确的添加阴影。下面就来给大家介绍正确为圆角添加阴影的效果,话不多说了,来一起看看详细的介绍吧。

先来看看效果图:

正确的做法:

先创建一个透明的UIView,并添加阴影,设置masksToBounds为NO;

然后在透明的UIView上添加圆角图片,在subView上设置masksToBounds为YES;

这样,就可以完美实现对应的阴影了。

示例代码

  let baseView = UIView(frame: CGRect(x: 100, y: 100, width: 100, height: 100))
  // add the shadow to the base view
  baseView.backgroundColor = UIColor.clear
  baseView.layer.shadowColor = UIColor.black.cgColor
  baseView.layer.shadowOffset = CGSize(width: 3, height: 3)
  baseView.layer.shadowOpacity = 0.7
  baseView.layer.shadowRadius = 4.0
  self.view.addSubview(baseView)
  
  // add any other subcontent that you want clipped
  let otherSubContent = UIImageView()
  otherSubContent.image = UIImage(named: "lion")
  otherSubContent.frame = baseView.bounds
  otherSubContent.layer.masksToBounds = true
  otherSubContent.layer.cornerRadius = 50
  baseView.addSubview(otherSubContent)

总结

以上就是这篇文章的全部内容了,本文还有许多不足,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

您可能感兴趣的文章:

相关文章

  • iOS应用开发中导航栏按钮UIBarButtonItem的添加教程

    iOS应用开发中导航栏按钮UIBarButtonItem的添加教程

    这篇文章主要介绍了iOS应用开发中导航栏按钮UIBarButtonItem的添加教程,文中详细介绍了使用UINavigationController导航控制器添加的过程,需要的朋友可以参考下
    2016-02-02
  • iOS如何巧妙解决NSTimer的循环引用详解

    iOS如何巧妙解决NSTimer的循环引用详解

    这篇文章主要给大家介绍了关于iOS如何巧妙解决NSTimer的循环引用的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-03-03
  • Swift 去除 TableView 多余的空Cell中的横线的方法

    Swift 去除 TableView 多余的空Cell中的横线的方法

    这篇文章主要介绍了Swift 去除 TableView 多余的空Cell中的横线的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • 如何利用FutureBuilder提高开发效率

    如何利用FutureBuilder提高开发效率

    这篇文章主要给大家介绍了关于如何利用FutureBuilder提高开发效率的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-07-07
  • iOS UIAlertController中UITextField添加晃动效果与边框颜色详解

    iOS UIAlertController中UITextField添加晃动效果与边框颜色详解

    这篇文章主要给大家介绍了关于iOS UIAlertController中UITextField添加晃动效果与边框颜色的相关资料,实现后的效果非常适合在开发中使用,文中给出了详细的示例代码,需要的朋友可以参考借鉴,下面随着小编来一起看看吧。
    2017-10-10
  • iOS开发中苹果输入手机号变用户的名字

    iOS开发中苹果输入手机号变用户的名字

    今天我们的用户输入手机号之后变成了用户的名字,没办法获取验证码,因为手机格式不对。下面通过本文给大家分享开发中苹果输入手机号变用户的名字,需要的朋友可以参考下
    2017-05-05
  • 汇总ios开发逆向传值的方法

    汇总ios开发逆向传值的方法

    这篇文章主要为大家汇总了ios开发逆向传值的方法,感兴趣的小伙伴们可以参考一下
    2016-03-03
  • IOS游戏开发之五子棋OC版

    IOS游戏开发之五子棋OC版

    五子棋是大家比较熟悉的一款小游戏,相信很多人用多种语言写过五子棋小游戏,本文试着用OC实现了一下,在这里给大家分享一下。有需要的可以参考学习。
    2016-08-08
  • iOS实现百度外卖头像波浪的效果

    iOS实现百度外卖头像波浪的效果

    对于现在很多人来说,叫外卖就成了不可或缺的习惯。某日瞬间发现百度外卖的APP波浪效果很是吸引人,相比较其他的外卖APP,颜值略高些.(淘宝也有波浪的效果),遂就思考如何实现这种"浪"的效果,下面来一起看看。
    2016-08-08
  • iOS开发之获取系统相册中的图片与视频教程(内带url转换)

    iOS开发之获取系统相册中的图片与视频教程(内带url转换)

    本篇文章主要介绍了iOS开发之获取系统相册中的图片与视频教程(内带url转换),主要介绍AssetsLibrary 框架,具有一定的参考价值,有需要的可以了解一下。
    2016-11-11

最新评论