【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);
时间: 2024-08-12 13:23:42

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

iOS开发项目篇—34获取用户信息

iOS开发项目篇—34获取用户信息 一.简单说明 需求:获取当前用户的昵称 ,需要获取当前登录用户的个人信息. 查看接口 要求传递的参数 这里要获取的时用户的昵称(所以使用用户id作为参数传入) 二.实现代码 1 - (void)viewDidLoad 2 { 3 [super viewDidLoad]; 4 5 //设置导航栏内容 6 [self setupNavBar]; 7 8 //集成刷新控件 9 [self setupRefresh]; 10 11 //设置用户的昵称为标题 12 [s

iOS开发项目篇—39获取用户未读的微博信息(信息提醒)

iOS开发项目篇—39获取用户未读的微博信息(信息提醒) 一.简单说明 1.实现效果       2.实现 (1)新建一个类,封装请求 查看新浪官方要求的请求参数 该类中的代码设计 YYUnreadCountParam.h文件 1 // YYUnreadCountParam.h 2 //封装请求参数的类 3 4 #import "YYBaseParam.h" 5 6 @interface YYUnreadCountParam : YYBaseParam 7 /**uid true in

iOS开发项目篇—19获取授权过的访问标记

iOS开发项目篇—19获取授权过的访问标记 一.简单说明 1.获取授权 2.简单说明 说明: (1)只能使用post请求 (2)post请求的参数有5个,且五个参数都是必须的. (3)新浪会返回一个JSON,转成OC对象为字典,可以通过Key取出ACCESS_TOKEN. 二.实现 1.导入第三方框架 2.使用字典封装请求参数,五个参数都是必须的,就算少一个都是非法请求. 封装代码 1 //2.封装请求参数 2 /* 3 url:https://api.weibo.com/oauth2/acce

iOS开发 - CALayer图层

CALayer的基本使用 在iOS中,你能看得见摸得着的东西基本上都是UIView,比如一个按钮.一个文本标签.一个文本输入框.一个图标等等,这些都是UIView 其实UIView之所以能显示在屏幕上,完全是因为它内部的一个图层 在创建UIView对象时,UIView内部会自动创建一个图层(即CALayer对象),通过UIView的layer属性可以访问这个层 @property(nonatomic,readonly,retain) CALayer *layer; 当UIView需要显示到屏幕上

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

#import "ViewController.h" @interface ViewController () @property (weak, nonatomic) IBOutlet UIView *redView; @property (weak, nonatomic) IBOutlet UIImageView *imageV; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]

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

前言:有时候我们需要获取文件的MIMEType的信息,下面就介绍关于获取MIMEType的方法. 1.直接百度搜索关键字"MIMEType",你会找到,然后查吧: 2.用代码获取文件的MIMEType信息: 1 #import "GetMIMEType.h" 2 3 #import <MobileCoreServices/MobileCoreServices.h> 4 5 @implementation GetMIMEType 6 7 #pragma m

iOS 开发调用相机以及获取相册照片功能

//添加代理方法 @interface MineViewController () <UITableViewDelegate, UITableViewDataSource, PayCellDelegate, UINavigationControllerDelegate, UIImagePickerControllerDelegate, UIActionSheetDelegate> //定义消息框 UIActionSheet * act =[[UIActionSheet alloc]initWi

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

方法如下: 一般collectionView 或者 tableview都有自带的点击函数,如下: 1, collectionView -(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath{ //一般情况,cell不是自定义 UICollectionViewCell * cell = (UICollectionViewCell *)[col

iOS开发之修改动画对象的元素属性

步骤:1.使用single view application创建新的项目 2.在.h文件中使用UIimageview创建两个图片实例对象,使用UIDynamicAnimator创建动画对象 3.在.m中实现相关的代码 在.h文件中 在.文件中

iOS开发——实用技术OC篇&amp;给分类增加属性

给分类增加属性 关于分类的创建这里就不扯了,咱们直接开干 这里以文本看占位文字颜色为例一:简单方式(关键技术:KVC)1.在头文件定义一个属性 1 @property (nonatomic, strong) UIColor *placeholderColor; 2 /** 3 * 分类中只会产生属性对应Setter和Getter方法的声明,不会有实现,需要我们自己实现 4 */ 5 //-(void)setPlaceholderColor:(UIColor *)placeholderColor;