(转载)ios之为UIView设置阴影(CALayer的shadowColor,shadowOffset,shadowOpacity,shadowRadius,shadowPath属性)

简介: 原文地址:http://blog.csdn.net/rhljiayou/article/details/10178723效果图:以下代码实现:第一个图片的代码//加阴影--任海丽编辑 _imageView.

原文地址:http://blog.csdn.net/rhljiayou/article/details/10178723

效果图:


img_845f834c57c952d625945213a6bee21f.jpe

以下代码实现:
第一个图片的代码

//加阴影--任海丽编辑  
    _imageView.layer.shadowColor = [UIColor blackColor].CGColor;//shadowColor阴影颜色  
    _imageView.layer.shadowOffset = CGSizeMake(4,4);//shadowOffset阴影偏移,x向右偏移4,y向下偏移4,默认(0, -3),这个跟shadowRadius配合使用  
    _imageView.layer.shadowOpacity = 0.8;//阴影透明度,默认0  
    _imageView.layer.shadowRadius = 4;//阴影半径,默认3  
AI 代码解读

第二个图片的代码

_imageView1.layer.shadowColor = [UIColor yellowColor].CGColor;//shadowColor阴影颜色  
_imageView1.layer.shadowOffset = CGSizeMake(0,0);//shadowOffset阴影偏移,默认(0, -3),这个跟shadowRadius配合使用  
_imageView1.layer.shadowOpacity = 1;//阴影透明度,默认0  
_imageView1.layer.shadowRadius = 3;//阴影半径,默认3  

//路径阴影  
UIBezierPath *path = [UIBezierPath bezierPath];  
  
float width = _imageView1.bounds.size.width;  
float height = _imageView1.bounds.size.height;  
float x = _imageView1.bounds.origin.x;  
float y = _imageView1.bounds.origin.y;  
float addWH = 10;  
  
CGPoint topLeft      = _imageView1.bounds.origin;  
CGPoint topMiddle = CGPointMake(x+(width/2),y-addWH);  
CGPoint topRight     = CGPointMake(x+width,y);  
  
CGPoint rightMiddle = CGPointMake(x+width+addWH,y+(height/2));  
  
CGPoint bottomRight  = CGPointMake(x+width,y+height);  
CGPoint bottomMiddle = CGPointMake(x+(width/2),y+height+addWH);  
CGPoint bottomLeft   = CGPointMake(x,y+height);  
  
  
CGPoint leftMiddle = CGPointMake(x-addWH,y+(height/2));  
  
[path moveToPoint:topLeft];  
//添加四个二元曲线  
[path addQuadCurveToPoint:topRight  
             controlPoint:topMiddle];  
[path addQuadCurveToPoint:bottomRight  
             controlPoint:rightMiddle];  
[path addQuadCurveToPoint:bottomLeft  
             controlPoint:bottomMiddle];  
[path addQuadCurveToPoint:topLeft  
             controlPoint:leftMiddle];  
//设置阴影路径  
 _imageView1.layer.shadowPath = path.CGPath;  
AI 代码解读

ok!

目录
打赏
0
0
0
0
8
分享
相关文章
iOS 手势中cancelsTouchesInView delaysTouchesBegan delaysTouchesEnded 三种属性的使用
iOS 手势中cancelsTouchesInView delaysTouchesBegan delaysTouchesEnded 三种属性的使用
256 9
iOS开发-属性的内存管理
【8月更文挑战第12天】在iOS开发中,属性的内存管理至关重要,直接影响应用性能与稳定性。主要策略包括:`strong`(强引用),不维持对象生命期,可用于解除循环引用;`assign`(赋值),适用于基本数据类型及非指针对象属性;`copy`,复制对象而非引用,确保对象不变性。iOS采用引用计数管理内存,ARC(自动引用计数)自动处理引用增减,简化开发。为避免循环引用,可利用弱引用或Swift中的`[weak self]`。最佳实践包括:选择恰当的内存管理策略、减少不必要的强引用、及时释放不再使用的对象、注意block内存管理,并使用Xcode工具进行内存分析。
从Unity开发到移动平台制胜攻略:全面解析iOS与Android应用发布流程,助你轻松掌握跨平台发布技巧,打造爆款手游不是梦——性能优化、广告集成与内购设置全包含
【8月更文挑战第31天】本书详细介绍了如何在Unity中设置项目以适应移动设备,涵盖性能优化、集成广告及内购功能等关键步骤。通过具体示例和代码片段,指导读者完成iOS和Android应用的打包与发布,确保应用顺利上线并获得成功。无论是性能调整还是平台特定的操作,本书均提供了全面的解决方案。
263 0
input框设置placeholder属性在iOS中显示不完整
input框设置placeholder属性在iOS中显示不完整
126 1
iOS16系统手机设置开启开发者模式才能安装ipa包
iOS16系统手机设置开启开发者模式才能安装ipa包
367 1
|
11月前
按钮的image图片是非圆角,直接对UIButton设置圆角,iOS13系统没有圆角效果的问题及解决方案
按钮的image图片是非圆角,直接对UIButton设置圆角,iOS13系统没有圆角效果的问题及解决方案
84 0
安卓与iOS开发中的跨平台策略
在移动应用开发的战场上,安卓和iOS两大阵营各据一方。随着技术的演进,跨平台开发框架成为开发者的新宠,旨在实现一次编码、多平台部署的梦想。本文将探讨跨平台开发的优势与挑战,并分享实用的开发技巧,帮助开发者在安卓和iOS的世界中游刃有余。
uniapp开发ios打包Error code = -5000 Error message: Error: certificate file(p12) import failed!报错问题如何解决
uniapp开发ios打包Error code = -5000 Error message: Error: certificate file(p12) import failed!报错问题如何解决
230 67
uniapp开发ios打包Error code = -5000 Error message: Error: certificate file(p12) import failed!报错问题如何解决
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
85 8
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
深入探索iOS开发中的SwiftUI框架
【10月更文挑战第21天】 本文将带领读者深入了解Apple最新推出的SwiftUI框架,这一革命性的用户界面构建工具为iOS开发者提供了一种声明式、高效且直观的方式来创建复杂的用户界面。通过分析SwiftUI的核心概念、主要特性以及在实际项目中的应用示例,我们将展示如何利用SwiftUI简化UI代码,提高开发效率,并保持应用程序的高性能和响应性。无论你是iOS开发的新手还是有经验的开发者,本文都将为你提供宝贵的见解和实用的指导。
196 66

热门文章

最新文章

  • 1
    苹果app上架-ios上架苹果商店app store 之苹果支付In - App Purchase内购配置-优雅草卓伊凡
    121
  • 2
    苹果app上架app store 之苹果开发者账户在mac电脑上如何使用钥匙串访问-发行-APP发布证书ios_distribution.cer-优雅草卓伊凡
    68
  • 3
    uniapp云打包ios应用证书的获取方法,生成指南
    110
  • 4
    iOS|解决 setBrightness 调节屏幕亮度不生效的问题
    141
  • 5
    iOS|记一名 iOS 开发新手的前两次 App 审核经历
    44
  • 6
    iOS各个证书生成细节
    66
  • 7
    【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
    296
  • 8
    Cellebrite UFED 4PC 7.71 (Windows) - Android 和 iOS 移动设备取证软件
    91
  • 9
    【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
    103
  • 10
    【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
    90
  • AI助理

    你好,我是AI助理

    可以解答问题、推荐解决方案等