iOS创建UIView是直接在Core Animation layers上进行绘制,每一个UIView实例都会自动创建CALayer的实例,并且设置为UIView实例的layer属性。

以下事例通过设置UIImageView的layer,实现阴影、圆角、边框和旋转缩放等效果

-(void)initImgView{UIImageView *imgView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"logo.jpg"]];imgView.frame = CGRectMake((kScroolWidth-200)/2, (kScroolHeight-200)/2, 200, 200);[self.view addSubview:imgView];//1.设置阴影imgView.layer.shadowColor = [UIColor greenColor].CGColor;//阴影颜色imgView.layer.shadowOffset = CGSizeMake(10, 10);//阴影偏移量imgView.layer.shadowOpacity = 0.5;//阴影不透明度//2.设置圆角
//    imgView.layer.cornerRadius = 10;//圆角半径
//    imgView.layer.masksToBounds = YES;//强制内部所有子层支持圆角效果//3.设置边框
//    imgView.layer.borderWidth = 5;//边框大小
//    imgView.layer.borderColor = [UIColor redColor].CGColor;//边框颜色//4.旋转
//    imgView.layer.transform = CATransform3DMakeRotation(M_PI_4, 1, 1, 0);//旋转,参数(旋转角度,x轴,y轴,z轴),此处是绕着x、y轴旋转45度//5.缩放
//    imgView.layer.transform = CATransform3DMakeScale(0.5, 1, 0);//x缩放0.5倍,y扩大1倍,z不变
}

1.设置阴影效果

2.设置圆角效果

3.设置边框

4.旋转

5.缩放

UILayer的一些属性相关推荐

  1. 《iOS Drawing Practical UIKit Solutions》读书笔记(三) —— Drawing Images

    UIKit Images UIKit提供了许多函数可以让我们操作Image,甚至我们可以仅通过代码的方式,获取一个UIImage. UIImage *SwatchWithColor(UIColor * ...

  2. kotlin中继承父属性使用构造方法

    kotlin中继承父属性使用构造方法 1. 定义父类,给它两个属性: abstract class AbstractResponseMessage {private var success = tru ...

  3. Python 类—类属性(私有属性、公有属性、实例属性、局部变量)类方法(实例方法、静态方法)

    1. 创建类 类是对某个对象的定义,它包含有关对象动作方式的信息,包括它的名称.方法.属性和事件.类不存在于内存中,因此它本身并不是对象.当程序运行需要引用类的代码时,就会在内存中创建一个类的新实例, ...

  4. SpringBoot2.x 不反回空值属性

    介绍 由于有的时候我们返回的数据中存在属性没有值得情况,或者是属性的值为空白字符串,这会浪费网络流量,又或者是前端框架存在的bug会导致null值或者是空白字符串在渲染的时候会报错. 处理方式 第一种 ...

  5. Python 属性__getattribute__

    首先理解__getattribute__的用法,先看代码: class Tree(object):def __init__(self,name):self.name = nameself.cate = ...

  6. Python __dict__属性详解

    由此可见, 类的静态函数.类函数.普通函数.全局变量以及一些内置的属性都是放在类__dict__里的 对象的__dict__中存储了一些属性 我们都知道Python一切皆对象,那么Python究竟是怎 ...

  7. vue响应式给数组中的对象添加新属性

    需要使用到vue的全局api $set(item,'newParam','value')方法 group: [ // 对象数组{ id: '1', name: '任务1' ,disable: fals ...

  8. Cocos 属性常用参数

    default:设置属性的默认值,这个默认值仅在组件第一次添加到节点上时才会用到 type:限定属性的数据类型,详见 CCClass 进阶参考:type 参数 visible:设为 false 则不在 ...

  9. React router 的 Route 中 component 和 render 属性理解

    React router 的 Route 中 component 和 render 属性理解 Route 标签的三个互斥属性 render.component.children Route 就是用来匹 ...

最新文章

  1. 系统linux/redhat6.5 zabbix 2.47监控nginx1.8.0 (下)
  2. android捕获方法,android捕获Home键的方法
  3. 电大计算机要学多久,电大计算机应用基础是我们必须要学习的科目吗
  4. 15-07-15 数据库基础
  5. C语言复杂的学生成绩管理系统,哭诉、拜求C语言学生成绩管理系统
  6. Lighttpd源码分析之状态机与插件
  7. SQL语言之多表查询(oracle)
  8. 打开黑色_表哥出差带回来一箱苹果,打开后发现是黑色的,大家表示都没见过...
  9. kite 使用 go_使用Apache Storm和Kite SDK Morphlines的可配置ETL处理
  10. java 实现按规则自增功能_java运算符详解 - osc_74vaali6的个人空间 - OSCHINA - 中文开源技术交流社区...
  11. Java ArrayList isEmpty()方法与示例
  12. 一天一个小技巧(1)——CSDN编辑器中文字颜色、尺寸、类型修改
  13. 围堵iPhone 13
  14. 解决Cannot find module ‘./index.module.scss‘ or its corresponding type declarations.ts(2307)
  15. Asp.net学习总结
  16. 如何用python做兼职_python学会后可以干什么副业#做什么兼职副业好
  17. 第四百三十五章 灭龙魔宫
  18. math.abs() java_Java中使用Math.abs你入坑了?
  19. 今日接手一个项目,服务器重启后,mysql启动失败
  20. 3手机版怎么换行_敬业签手机版便签软件怎么绑定QQ或微信互联登录?

热门文章

  1. Activiti 规则任务(businessRuleTask)
  2. 报表性能优化方案之报表服务器优化基础讲解
  3. UIWebView之获取所点位置图片URL
  4. Centos用yum安装X Winodw
  5. Memcached深度分析
  6. asp.net中的联动菜单
  7. C++拾趣——STL容器的插入、删除、遍历和查找操作性能对比(Windows VirtualStudio)——删除
  8. 如何定制一款12306抢票浏览器——用户界面
  9. 常用排序算法的C++实现
  10. API Sanity Checker在Ubuntu中的使用