图层

每个控件都有自己的一个图层,这个空间的全部东西就是显示在这个图层上面的,控件本身没有显示东西的功能,仅仅有拥有了图层才干显示东西

图层的获取

CALayer *layer = self.testView.layer;

使用UIView的图层为例

UIView本身仅仅有一个图层,主图层

self.testView.layer.borderWidth = 10;//设置边框大小
self.testView.layer.borderColor = [UIColor blueColor].CGColor;//设置边框颜色
self.testView.layer.cornerRadius = 10;//设置view的圆角
self.testView.layer.shadowOffset = CGSizeMake(10, 10);//设置阴影。默认黑色透明。后面是阴影偏差(阴影会向哪个方向偏)右下角全正数
self.testView.layer.shadowColor = [UIColor blackColor].CGColor;//给阴影设置颜色
self.testView.layer.shadowOpacity = 0.5;//设置透明度 self.testView.layer.masksToBounds = YES;//设置超出主层的东西会被剪掉。阴影不显示也是这个原因

UIImageView为例圆角实现

UIImageView控件不止一个图层。图片的显示不是在主层中,所以更改主层的边角为原型。并不能改变图片显示层的边角

 self.imageView.layer.borderWidth = 10;//设置边框宽度大小
self.imageView.layer.borderColor = [UIColor blueColor].CGColor;//设置边框颜色 //设置图层圆角。由于UIImageView有两个图层,图片显示在复层上面,
//所以仅仅设置这一个属性不会变为圆角
//要把 masksToBounds属性设置为YES
self.imageView.layer.cornerRadius = 10;
self.imageView.layer.masksToBounds = YES;//超出主层的内容都会被减掉

关于layer层的旋转,平移,缩放

layer的仅仅能使用3D旋转,平移,缩放

self.imageView.layer.transform = CATransform3DMakeRotation(M_PI_4, 1, 0.5, 0);//layer层的旋转,使用3D

//控制缩放    使用KVC
NSValue *value = [NSValue valueWithCATransform3D:CATransform3DMakeRotation(M_PI_4, 0, 0, 1)];
[self.imageView.layer setValue:value forKeyPath:@"transform"]; //等于上面的两句话 使用KVC
[self.imageView.layer setValue:@(M_PI_2) forKeyPath:@"transform.rotation"]; //控件本身的缩放和旋转
self.imageView.transform = CGAffineTransformMakeRotation(M_PI_4);
self.imageView.transform = CGAffineTransformMakeScale(1.5, 1.5);

【iOS开发-图层】图层的获取与一些属性的更多相关文章

  1. 给iOS开发新手送点福利,简述文本属性Attributes的用法

    给iOS开发新手送点福利,简述文本属性Attributes的用法   文本属性Attributes 1.NSKernAttributeName: @10 调整字句 kerning 字句调整 2.NSF ...

  2. ArcGIS Runtime SDK for iOS开发地图图层-图形图层

    注:本文翻译自:https://developers.arcgis.com/ios/objective-c/guide/creating-a-graphics-layer.htm        创建图 ...

  3. iOS开发 - CALayer图层

    CALayer的基本使用 在iOS中.你能看得见摸得着的东西基本上都是UIView.比方一个button.一个文本标签.一个文本输入框.一个图标等等.这些都是UIView 事实上UIView之所以能显 ...

  4. ios开发之图层与核心动画一:图层CALayer的认识

    #import "ViewController.h" @interface ViewController () @property (weak, nonatomic) IBOutl ...

  5. 关于iOS开发首次进入需要获取地理位置

    今天给大家简单介绍一下iOS开发过程中会遇到的获取地理位置的问题,(话不多说进入正题)这里给大家讲解一下两种在APPdelegate获取地理位置的方法: 一:首先是用系统的方法获取地理位置: 1. 首 ...

  6. iOS开发之网络编程--获取文件的MIMEType

    前言:有时候我们需要获取文件的MIMEType的信息,下面就介绍关于获取MIMEType的方法. 1.直接百度搜索关键字"MIMEType",你会找到,然后查吧: 2.用代码获取文 ...

  7. 【iOS开发-从网络上获取图片尺寸】

    实际开发过程中,容易碰到从网络上获取图片尺寸的场景,比如一个UIImageView要装载从网络上获取的图片,但要先设置其frame,此时又不知道图片尺寸,就要从网络上获取尺寸了.为了最好的用户体验,一 ...

  8. ios开发之-- tableview/collectionview获取当前点击的cell

    方法如下: 一般collectionView 或者 tableview都有自带的点击函数,如下: , collectionView -(void)collectionView:(UICollectio ...

  9. IOS开发代码分享之获取启动画面图片的string

    http://www.jb51.net/article/55309.htm 本代码支持 iPhone 6 以下. 支持 iPhone 及 iPad ? 1 2 3 4 5 6 7 8 9 10 11 ...

  10. ios开发runtime学习四:动态添加属性

    #import "ViewController.h" #import "Person.h" #import "NSObject+Property.h& ...

随机推荐

  1. HDFS RAID实现方案(转)

    原文链接:http://blog.chinaunix.net/uid-20196318-id-3213700.html 分布式文件系统主要用于解决海量数据存储的问题,如Goolge.Facebook等 ...

  2. 关于ZIP自动打包的进一步进化思路

    http://blog.163.com/long200259@126/blog/static/11288755920093120529157/

  3. 0ra-12170 tns 连接超时

    https://blog.csdn.net/zhaoxiangchong/article/details/8296980

  4. Android网络开启、关闭整理

    package com.my.device_admin.business; import java.lang.reflect.Method; import android.content.Contex ...

  5. gym101431B

    以此纪念我都快忘了的后缀自动机(捂脸) 不过这题有两种做法: 用后缀自动机,先把原串再接遍中间加入特殊连接字符再把原串反接两遍,对这个新构造出的串做后缀自动机.(或者直接建立广义后缀自动机) 下面只要 ...

  6. pdb-不需要IDE也能调试

    python中有个pdb模块,使python代码也可以像gdb那样进行调试,一般情况下pdb模块可以在代码内直接使用,也可以通过命令行参数的形式添加该模块进行调试(python -m pdb file ...

  7. 高版本 eclipse 如何安装 fatjar 插件以及使用 fatjar 将 Java 程序打成 Jar 包

    高版本 eclipse 如何安装 fatjar 插件以及使用 fatjar 将 Java 程序打成 Jar 包 Eclipse Version: Neon.3 Release (4.6.3) Welc ...

  8. JavaScript中变量、作用域、内存问题

    这几天,闲的没事看看JavaScript高级编程,感觉JavaScript真的很强大,尤其是采用面向对象的编程方式. 一.   基本类型和引用类型的值: ECMAScript变量可能包含两种不同数据类 ...

  9. Django总叙(转)

    Django 千锋培训读书笔记 https://www.bilibili.com/video/av17879644/?p=1 切换到创建项目的目录 cd C:\Users\admin\Desktop\ ...

  10. 【WPF】OnApplyTemplate

    操作模板控件 在做WPF开发的时候,我们通常因为满足不同的需求会开发一些自定义控件来满足需要,我们会自定义模板来定义控件的外观,添加命令和路由事件来给控件添加行为,那如何在模板中查找元素并关联事件处理 ...