Main.storyboard

//

//  ViewController.m

//  7A11.图层的transform属性

//

//  Created by huan on 16/2/4.

//  Copyright © 2016年 huanxi. All rights reserved.

//

#import "ViewController.h"

@interface ViewController ()

@property (weak, nonatomic) IBOutlet UIImageView *imageView;

@property (weak, nonatomic) IBOutlet UIView *redView;

@end

@implementation ViewController

- (void)viewDidLoad {

[super viewDidLoad];

// Do any additional setup after loading the view, typically from a nib.

self.redView.layer.contents = (id)[UIImage imageNamed:@"papa"].CGImage;

}

-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{

//学习形变的属性

//缩放

//第三个参数sz 看不到效果

//    self.redView.layer.transform = CATransform3DMakeScale(1.5, 1.5, 1.5);

//旋转

//1,0,0 x轴旋转

//0,1,0 y轴旋转

//0,0,1 z轴旋转

//    self.redView.layer.transform = CATransform3DMakeRotation(M_PI_4, 0, 0, 1);

//平移

//    self.redView.layer.transform = CATransform3DMakeTranslation(10, 10, 0);

//使用kvc的方法 改变 属性值

//    [self.redView.layer setValue:[NSValue valueWithCATransform3D:CATransform3DMakeScale(1.5, 1.5, 1)] forKey:@"transform"];

#warning transform里面有更具体的形变属性

//缩放

//transform.scale.x 代表x方向上

//transform.scale.y 代表y方向上

//    [self.redView.layer setValue:@1.5 forKeyPath:@"transform.scale.x"];

//旋转

// transform.rotation.z z轴旋转

//    [self.redView.layer setValue:@(M_PI_4) forKeyPath:@"transform.rotation.z"];

//平移

//transform.translation.x x方向移动

//    [self.redView.layer setValue:@(20)forKeyPath:@"transform.translation.x"];

//不具体指定x还是y方向的移动

//    [self.redView.layer setValue:[NSValue valueWithCGPoint:CGPointMake(20, 20)] forKeyPath:@"transform.translation"];

#warning kvc设置不仅限于transform属性,只要layer有的属性,都设置

[self.redView.layer setValue:[NSValue valueWithCGRect:CGRectMake(0, 0, 200, 200)] forKeyPath:@"bounds"];

}

@end

结果

图层的transform属性的更多相关文章

  1. QGis(三)查询矢量图层的要素属性字段值(转载)

    QGis(三)查询矢量图层的要素属性字段值 https://github.com/gwaldron/osgearth/issues/489 当加载一个矢量图层后,如果要查看要素的属性字段值,则需要实现 ...

  2. 通过transform属性改变图片的位置大小等信息

    对UIImageView的位置大小方向的改变可以通过改变其transform属性值实现. 位置改变: var transform = CGAffineTransformMakeTranslation( ...

  3. 2016 - 1- 14 UI阶段学习补充 transform属性详解

    UIView的transform属性 transform是view的一个重要属性,它在矩阵层面上改变view的显⽰状态,能实现view的缩放.旋转.平移等功能.transform是CGAffineTr ...

  4. transform属性

    transform属性 在OC中,通过transform属性可以修改对象的平移.缩放比例和旋转角度常用的创建transform结构体方法分两大类 (1) 创建“基于控件初始位置”的形变 CGAffin ...

  5. 理解SVG坐标系统和变换: transform属性

    SVG元素可以通过缩放,移动,倾斜和旋转来变换-类似HTML元素使用CSS transform来变换.然而,当涉及到坐标系时这些变换所产生的影响必然有一定差别.在这篇文章中我们讨论SVG的transf ...

  6. Swift - 通过设置视图的transform属性实现动画

    设置视图对象的transform属性,可以实现各种动画效果. 1,移动 指在同一平面内,将控件按照某个直线方向平移一定的距离. 1 2 3 4 5 //每次都从当前位置平移 self.imageVie ...

  7. 11--tag 和transform属性

    tag 和transform属性 1.tag 标签,就相当于身份识别的标码,可以通过tag值获取对应的对象. 2.使用transform 实现对象的平移和旋转. // // ViewControlle ...

  8. IOS(二)基本控件UIButton、简易动画、transform属性、UIImageView

    UIButton //1.设置UIButton 的左右移动 .center属性 获得 CGPoint 来修改x y //1.设置UIButton 的放大缩小 bounds属性 获得CGRect 然后通 ...

  9. animation,transform属性

    animation属性 使用@keyfarmes属性开启动画步骤 结构体:@keyfarmes name{ from{ } to{ } } @keyfarmes name{ 0%{ } 50%{ } ...

随机推荐

  1. Qlikview 图标控件实现动态分组

    首先编辑一个组合字段,eg, TimeDimension, 内含2个字段(即为动态可以切换的分组字段) 将TimeDimension 作为分组字段.表达式字段 Sum(Sales),结果如图示 在图片 ...

  2. 【Python】python2.7安装pysvn

    wget最新的版本地址自己修改 1.编译安装apr.apr-utilwget https://mirrors.tuna.tsinghua.edu.cn/apache/apr/apr-1.5.2.tar ...

  3. PHP递归实现层级树状展现数据

    树状数据展现很常用,今天学习了PHP的递归,也来总结总结! PHP代码: function _getTreeList_custom1($data,$parent_id,$depth) { $retur ...

  4. delphi Tab Item Badge Value 消息数标记

    https://community.embarcadero.com/blogs?view=entry&id=9074 unit TabBadgeFrm; interface uses Syst ...

  5. 【过程改进】10分钟进阶Nuget

    目录 nuget初识 nuget本地包 nuget解决依赖冲突 nuget是什么 .net版的maven(java)? 如果你用过windows的chocolatey,mac的homebrew或许更容 ...

  6. python json学习之路2-认识python种的json模块

    1.从python原始类型向json类型的转化过程,具体的转化对照如下: 2.从json到python的类型转化对照如下: 3.json提供四个功能:dumps, dump, loads, load ...

  7. MYSQL服务器字符集设置

    修改默认字符集 vi /etc/my.cnf 在[mysqld]下面加入default-character-set=utf8 在[client]下面加入default-character-set=ut ...

  8. 【BZOJ3504】危桥(最大流)

    题意:见题面 思路:http://www.cnblogs.com/chenyushuo/p/5139556.html 必须交换b1,b2做第二次最大流的原因: 假如一个a1到b2的一个流和b1到a2的 ...

  9. JS中delete删除对象属性

    1.删除对象属性 function fun(){   this.name = 'mm';   }   var obj = new fun();   console.log(obj.name);//mm ...

  10. Python:生成器

    生成器:使用了 yield 的函数被称为生成器(generator).它记住上一次返回时在函数体中的位置. yeild运行过程:当你向生成器要一个数时,生成器会执行,直至出现 yield 语句,生成器 ...