【iOS开发-图层】图层的获取与一些属性
图层
每个控件都有自己的一个图层,这个空间的全部东西就是显示在这个图层上面的,控件本身没有显示东西的功能,仅仅有拥有了图层才干显示东西
图层的获取
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开发-图层】图层的获取与一些属性的更多相关文章
- 给iOS开发新手送点福利,简述文本属性Attributes的用法
给iOS开发新手送点福利,简述文本属性Attributes的用法 文本属性Attributes 1.NSKernAttributeName: @10 调整字句 kerning 字句调整 2.NSF ...
- ArcGIS Runtime SDK for iOS开发地图图层-图形图层
注:本文翻译自:https://developers.arcgis.com/ios/objective-c/guide/creating-a-graphics-layer.htm 创建图 ...
- iOS开发 - CALayer图层
CALayer的基本使用 在iOS中.你能看得见摸得着的东西基本上都是UIView.比方一个button.一个文本标签.一个文本输入框.一个图标等等.这些都是UIView 事实上UIView之所以能显 ...
- ios开发之图层与核心动画一:图层CALayer的认识
#import "ViewController.h" @interface ViewController () @property (weak, nonatomic) IBOutl ...
- 关于iOS开发首次进入需要获取地理位置
今天给大家简单介绍一下iOS开发过程中会遇到的获取地理位置的问题,(话不多说进入正题)这里给大家讲解一下两种在APPdelegate获取地理位置的方法: 一:首先是用系统的方法获取地理位置: 1. 首 ...
- iOS开发之网络编程--获取文件的MIMEType
前言:有时候我们需要获取文件的MIMEType的信息,下面就介绍关于获取MIMEType的方法. 1.直接百度搜索关键字"MIMEType",你会找到,然后查吧: 2.用代码获取文 ...
- 【iOS开发-从网络上获取图片尺寸】
实际开发过程中,容易碰到从网络上获取图片尺寸的场景,比如一个UIImageView要装载从网络上获取的图片,但要先设置其frame,此时又不知道图片尺寸,就要从网络上获取尺寸了.为了最好的用户体验,一 ...
- ios开发之-- tableview/collectionview获取当前点击的cell
方法如下: 一般collectionView 或者 tableview都有自带的点击函数,如下: , collectionView -(void)collectionView:(UICollectio ...
- IOS开发代码分享之获取启动画面图片的string
http://www.jb51.net/article/55309.htm 本代码支持 iPhone 6 以下. 支持 iPhone 及 iPad ? 1 2 3 4 5 6 7 8 9 10 11 ...
- ios开发runtime学习四:动态添加属性
#import "ViewController.h" #import "Person.h" #import "NSObject+Property.h& ...
随机推荐
- 理解一条语句:SELECT difference(sum("value")) FROM "mq_enqueue" WHERE "channel" =~ /ActiveMQ_TEST/ AND $timeFilter GROUP BY time($interval)
最近使用grafana在查询InfluxDB中,用到了这一条语句 SELECT difference(sum("value")) FROM "mq_enqueue&quo ...
- 转:mysql日志(Windows下开启Mysql慢查询、通用日志)
一.Windows下开启Mysql慢查询详解 //show variables like '%quer%';查询是否开启了慢查询!! 第一步:修改my.ini(mysql配置文件) 在my.ini中 ...
- 看懂 MySQL 慢查询日志
MySQL中的日志包括: 错误日志.二进制日志.通用查询日志.慢查询日志等等. 这里主要介绍下比较常用的两个功能:通用查询日志和慢查询日志. 1)通用查询日志:记录建立的客户端连接和执行的语句. 2) ...
- python和shell间变量互相传递
Python -> shell: 参考文章 1.环境变量 import os var=123或var=’123’ os.environ[’var’]=str(var) #environ的键值必须 ...
- centos6.5挂载windows共享的文件夹
参考:http://www.centoscn.com/CentOS/Intermediate/2014/0318/2619.html http://www.ailab.cn/article/20150 ...
- lr11_Controller_Options选项介绍:
lr11_Controller_Options选项介绍:
- MVC开发人员必备的五大工具
1. Chirpy Zippy 下载地址:http://chirpy.codeplex.com/ 过去,在将JavaScript脚本和CSS文件部署到Web服务器之 前,我习惯使用压缩工具进行压缩再部 ...
- Gitlab基本管理(二)
一. Gitlab分支 1. 切换到项目位置. 2. 创建一个项目的一新分支. mike@win10-001 MINGW64 ~/cookbook/cookbook (master) $ git br ...
- laravel windows安装(composer)
1.安装composer参考windows 安装tp5 composer方式 2.先配置好本地虚拟域名,在cmd里面切换到网站根目录 ... 3.安装成功之后,在浏览器输入已配置的虚拟域名我的是,la ...
- 《java虚拟机》----java内存模型与线程
No1. No2. java内存模型规定了所有的变量都存储在主内存中(Main Memory)中 每条线程还有自己的工作内存(Working Memory) 线程的工作内存中保存了被该线程使用到的变量 ...