自我总结- CGAffineTransform

视图仿射变换详解
本文详细介绍了如何使用CGAffineTransform实现iOS开发中的视图平移、旋转和缩放等仿射变换操作,并提供了具体的代码实例。

在应用中我们经常需要做一些仿射变换 可以用于 平移、旋转、缩放变换路径;

View有一个属性transform 可以指定一个 CGAffineTransform 即可完成仿射变换

1.平移变换

//  x方向移动一百 y不动
    CGAffineTransform transform= CGAffineTransformMakeTranslation(100,0);
//  viewanmination是需要进行变换的View
    self.viewanmination.transform=transform
//   系统提供了一个便利方法直接指定 两种方法效果一样

//    CGAffineTransformTranslate(<#CGAffineTransform t#>, <#CGFloat tx#>, <#CGFloat ty#>)

//    self.viewanmination.transform=CGAffineTransformTranslate(self.viewanmination.transform, 100, 0);

2 缩放

//x方向缩小0.5 y缩小0.5
    CGAffineTransform transt= CGAffineTransformMakeScale(0.5, 0.5);
    self.viewanmination.transform=transt;
    
   self.viewanmination.transform=CGAffineTransformScale(self.viewanmination.transform, 0.5, 0.5);

3 旋转

//输入需要旋转的角度
    CGAffineTransform trans=CGAffineTransformMakeRotation(M_PI_4);
    self.viewanmination.transform=trans;
    self.viewanmination.transform=CGAffineTransformRotate(self.viewanmination.transform, M_PI_4);

当然这三种效果也可以组合着用 需要借助CGAffineTransformIdentity 这个理解为初始化即可 如下代码实现了旋转和缩放

    
//初始化坐标
    CGAffineTransform trans=CGAffineTransformIdentity;
//旋转;
    trans=CGAffineTransformRotate(trans, M_PI_4);
// 缩放
    trans=CGAffineTransformScale(trans, 0.5, 0.4);
    self.viewanmination.transform=trans;

 

转载于:https://www.cnblogs.com/luguojiangshi/p/5302040.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值