UI基础-基础控件-0324-transform应用-使用transform实现btn小案例


利用transform属性可以修改控件的位移(位置)、缩放、旋转


创建一个transform属性
CGAffineTransform CGAffineTransformMakeTranslation(CGFloat tx,  CGFloat ty) ;
CGAffineTransform CGAffineTransformMakeScale(CGFloat sx, CGFloat sy);
CGAffineTransform CGAffineTransformMakeRotation(CGFloat angle)
(angle是弧度制,并不是角度制)


在某个transform的基础上进行叠加
CGAffineTransform CGAffineTransformTranslate(CGAffineTransform t, CGFloat tx, CGFloat ty);//平移
CGAffineTransform CGAffineTransformScale(CGAffineTransform t, CGFloat sx, CGFloat sy);//比例变化
CGAffineTransform CGAffineTransformRotate(CGAffineTransform t, CGFloat angle);//旋转


清空之前设置的transform属性
view.transform = CGAffineTransformIdentity; 
--------------------------------------------------------------------------------------------------
</pre><pre name="code" class="objc">#import "MJViewController.h"

@interface MJViewController ()
- (IBAction)leftRotate;
- (IBAction)up;
- (IBAction)big;
@end

@implementation MJViewController

- (IBAction)leftRotate {
*******************************************************************
    // 1.取得头像按钮。。一种拖属性,第二种通过tag(只要在view中就可以,如果tag重复,优先原则)
    UIButton *head = (UIButton *)[self.view viewWithTag:10];
 ********************************************************************   
    // 2.向左旋转45°
    // 45  180
    // 角度是正数:顺时针, 角度是负数:逆时针
//    head.transform = CGAffineTransformMakeRotation(-M_PI_4);
    head.transform = CGAffineTransformRotate(head.transform, M_PI_4);
}

- (IBAction)up {
    // 1.取得头像按钮
    UIButton *head = (UIButton *)[self.view viewWithTag:10];
    
    // 2.每次向上移动100的距离
//    head.transform = CGAffineTransformMakeTranslation(0, -100);
    head.transform = CGAffineTransformTranslate(head.transform, 0, -100);
}

- (IBAction)big {
    // 1.取得头像按钮
    UIButton *head = (UIButton *)[self.view viewWithTag:10];
    
    // 2.增大
//    head.transform = CGAffineTransformMakeScale(1.5, 1.5);
    head.transform = CGAffineTransformScale(head.transform, 1.5, 1.5);
}
@end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值