动画按钮实现,iOS开发中一些手写控件及其相关

作者: 今晚买四不像计算  发布:2019-12-01

iOS----四方块 动漫开关达成

黑马想起来上三次面试考官提问的几个难点:如何创建三个菱形,并让它对应单击事件,能够开合的效果。那个时候率先感应使用button来填充菱形的图片来促成,可是考官说,那样点击的区域非常不足利索,终归button是矩形的。那时真正被考官问住了,后来想起来,开采原来是这样!

大家兴许见过这些函数:setTransform:没错,大家兑现的准则正是将长方形button旋转45度,变成矩形。结合正确的坐标总结,通过UIView动漫来贯彻开合效果。是或不是很简单吗~

要是你不想用button用imageView也足以的,出席手势识别来对景挂画单击事件。贴代码:

    [_myImage setTransform:CGAffineTransformMakeRotation(M_PI_4)];
    [_myImage2 setTransform:CGAffineTransformMakeRotation(M_PI_4)];
    [_myImage3 setTransform:CGAffineTransformMakeRotation(M_PI_4)];
    [_myImage4 setTransform:CGAffineTransformMakeRotation(M_PI_4)];

以上是将宣示的三个image旋转45度。接下来是卡通:

    [UIView animateWithDuration:0.7 animations:^{
        //移动图片
        _myImage.center = CGPointMake(_myImage.center.x, _myImage.center.y-length);
        _myImage2.center = CGPointMake(_myImage2.center.x-length, _myImage2.center.y);
        _myImage3.center = CGPointMake(_myImage3.center.x+length, _myImage3.center.y);
        _myImage4.center = CGPointMake(_myImage4.center.x, _myImage4.center.y+length);
        length = -length;
    }]

一抬手一动脚每一个图片的主干依然比较便利的。这里本人达成了五个差别的卡通片效果,详细的情况请看代码。下载地址

提起底效果如下:

图片 1

动漫开关完成顿然想起来上一回面试考官提问的二个主题素材:如何创造四个菱形,并让它对应单击事件,能够开合的成效。此时...

手写控件,frame,center和bounds属性
风华正茂、手写控件

1.手写控件的步骤
(1)使用相应的控件类创立控件对象
(2)设置该控件的各类品质
(3)增多控件到视图中
(4)即便是button等控件,还需考虑控件的单击事件等
(5)注意:View Contollor和view的关系
2.注意点
在OC开荒中,Storyboard中的全数操作都能够由此代码达成,技术员必须求熟习明白代码布局界面包车型地铁技能!

设置控件监听方法的示范代码如下:

复制代码 代码如下:

[btn addTarget:self action:@selector(click:) forControlEvents:UIControlEventTouchUpInside];

提示:

1> addTarget方法定义在UIControl类中,这表示能够给持有继续自UIControl类的对象增加监听方法

2> 监听方法的首先个参数正是指标自笔者

3> 监听方法的第三个参数是监听控件的风云

3.代码示范

复制代码 代码如下:

//1.采用类创造叁个按键对象
   // UIButton *headbtn=[[UIButton alloc] initWithFrame:CGRectMake(100 ,100, 100, 100)];
    //设置开关对象为自定义型
    UIButton *headbtn=[UIButton buttonWithType:UIButtonTypeCustom];
   
    //2.设置对象的各式质量
    //(1卡塔尔地方等通用属性设置
    headbtn.frame=CGRectMake(100, 100, 100, 100);
   
    //(2卡塔尔设置普通状态下按键的习性
    [headbtn setBackgroundImage:[UIImage imageNamed:@"i"] forState:UIControlStateNormal];
    [headbtn setTitle:@"点我!" forState:UIControlStateNormal];
    [headbtn setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
   
    //(3卡塔尔国设置高亮状态下按键的质量
    [headbtn setBackgroundImage:[UIImage imageNamed:@"a"] forState:UIControlStateHighlighted];
    [headbtn setTitle:@"还行吧~" forState:UIControlStateHighlighted];
    [headbtn setTitleColor:[UIColor blueColor] forState:UIControlStateHighlighted];
   
    //3.把目标加多到视图中显现出来
    [self.view addSubview:headbtn];
    //注意点!
    self.headImageView=headbtn;

二、frame,center和bounds属性

1.frame、center和bounds属性
frame:调节地方和分寸
center:调控地方(中央点)
bounds:调控大小(以和谐的左上角为原点)
2.注意点
(1)通过以下属性能够改革控件的职位

frame.origin

center

(2)通过以下属性能够改革控件的尺寸

frame.size

bounds.size

3.代码演示

叁个说了算图片上下左右移动,缩放的前后相继(frame、center和bounds属性)

复制代码 代码如下:

//
//  YYViewController.m
//  01-练习使用按键的frame和center属性
//
//  Created by apple on 14-5-21.
//  Copyright (c) 2014年 itcase. All rights reserved.
//

#import "YYViewController.h"

//私有扩充
@interface YYViewController ()

@property(nonatomic,weak)IBOutlet UIButton *headImageView;
@end

@implementation YYViewController

//枚举类型,从1上马
typedef enum
{
    ktopbtntag=1,
    kdownbtntag,
    krightbtntag,
    kleftbtntag
}btntag;

//viewDidLoad是视图加载成功后调用的情势,平日在这里办法中推行视图调节器的开端化职业

  • (void)viewDidLoad
    {
       
        //在viewDidLoad方法中,不要遗忘调用父类的主意实现
        [super viewDidLoad];

   
    //手写控件代码
    //大器晚成、写一个开关控件,上边有一张图片
   
    //1.使用类创制一个按键对象
   // UIButton *headbtn=[[UIButton alloc] initWithFrame:CGRectMake(100 ,100, 100, 100)];
    //设置按键对象为自定义型
    UIButton *headbtn=[UIButton buttonWithType:UIButtonTypeCustom];
   
    //2.设置对象的每一种质量
    //(1卡塔尔(英语:State of Qatar)地点等通用属性设置
    headbtn.frame=CGRectMake(100, 100, 100, 100);
   
    //(2卡塔尔(قطر‎设置普通状态下开关的品质
    [headbtn setBackgroundImage:[UIImage imageNamed:@"i"] forState:UIControlStateNormal];
    [headbtn setTitle:@"点我!" forState:UIControlStateNormal];
    [headbtn setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
   
    //(3卡塔尔设置高亮状态下按键的品质
    [headbtn setBackgroundImage:[UIImage imageNamed:@"a"] forState:UIControlStateHighlighted];
    [headbtn setTitle:@"还行吧~" forState:UIControlStateHighlighted];
    [headbtn setTitleColor:[UIColor blueColor] forState:UIControlStateHighlighted];
   
    //3.把对象增多到视图中展现出来
    [self.view addSubview:headbtn];
    //注意点!
    self.headImageView=headbtn;

   
    //二、写多个调整图片左右光景移动方向的开关控件
   
    /**================向上的按键=====================*/
    //1.创制开关对象
    UIButton *topbtn=[UIButton buttonWithType:UIButtonTypeCustom];
   
    //2.设置对象的本性
    topbtn.frame=CGRectMake(100, 250, 40, 40);
    [topbtn setBackgroundImage:[UIImage imageNamed:@"top_normal"] forState:UIControlStateNormal];
    [topbtn setBackgroundImage:[UIImage imageNamed:@"top_highlighted"] forState:UIControlStateHighlighted];
    [topbtn setTag:1];
    //3.把控件加多到视图中
    [self.view addSubview:topbtn];
   
    //4.开关的单击调整事件
    [topbtn addTarget:self action:@selector(Click:) forControlEvents:UIControlEventTouchUpInside];
   
   
      /**================向下的开关=====================*/
    //1.成立开关对象
    UIButton *downbtn=[UIButton buttonWithType:UIButtonTypeCustom];
    //2.设置对象的性质
    downbtn.frame=CGRectMake(100, 350, 40, 40);
    [downbtn setBackgroundImage:[UIImage imageNamed:@"bottom_normal"] forState:UIControlStateNormal];
    [downbtn setBackgroundImage:[UIImage imageNamed:@"bottom_highlighted"] forState:UIControlStateHighlighted];
    [downbtn setTag:2];
    //3.把控件加多到视图中
    [self.view addSubview:downbtn];
   
    //4.按键的单击调节事件
    [downbtn addTarget:self action:@selector(Click:) forControlEvents:UIControlEventTouchUpInside];

   
     /**================向左的开关=====================*/
    //1.创制开关对象
    UIButton *leftbtn=[UIButton buttonWithType:UIButtonTypeCustom];
    //2.设置对象的品质
    leftbtn.frame=CGRectMake(50, 300, 40, 40);
    [leftbtn setBackgroundImage:[UIImage imageNamed:@"left_normal"] forState:UIControlStateNormal];
    [leftbtn setBackgroundImage:[UIImage imageNamed:@"left_highlighted"] forState:UIControlStateHighlighted];
    [leftbtn setTag:4];
    //3.把控件增添到视图中
    [self.view addSubview:leftbtn];
   
    //4.开关的单击调整事件
    [leftbtn addTarget:self action:@selector(Click:) forControlEvents:UIControlEventTouchUpInside];
   
   
   
    /**================向右的按键=====================*/
    //1.创建按钮对象
    UIButton *rightbtn=[UIButton buttonWithType:UIButtonTypeCustom];
    //2.设置对象的性格
    rightbtn.frame=CGRectMake(150, 300, 40, 40);
    [rightbtn setBackgroundImage:[UIImage imageNamed:@"right_normal"] forState:UIControlStateNormal];
    [rightbtn setBackgroundImage:[UIImage imageNamed:@"right_highlighted"] forState:UIControlStateHighlighted];
    [rightbtn setTag:3];
    //3.把控件加多到视图中
    [self.view addSubview:rightbtn];
   
    //4.按键的单击调节事件
    [rightbtn addTarget:self action:@selector(Click:) forControlEvents:UIControlEventTouchUpInside];
   
      //三、写八个缩放开关
       /**================放大的开关=====================*/
    //1.创设对象
    UIButton *plusbtn=[UIButton buttonWithType:UIButtonTypeCustom];
    //2.设置属性
    plusbtn.frame=CGRectMake(75, 400, 40, 40);
    [plusbtn setBackgroundImage:[UIImage imageNamed:@"plus_normal"] forState:UIControlStateNormal];
    [plusbtn setBackgroundImage:[UIImage imageNamed:@"plus_highlighted"] forState:UIControlStateHighlighted];
    [plusbtn setTag:1];
    //3.加多到视图
    [self.view addSubview:plusbtn];
    //4.单击事件
    [plusbtn addTarget:self action:@selector(Zoom:) forControlEvents:UIControlEventTouchUpInside];
   
   
    /**================收缩的开关=====================*/
    UIButton *minusbtn=[UIButton buttonWithType:UIButtonTypeCustom];
    minusbtn.frame=CGRectMake(125, 400, 40, 40);
    [minusbtn setBackgroundImage:[UIImage imageNamed:@"minus_normal"] forState:UIControlStateNormal];
    [minusbtn setBackgroundImage:[UIImage imageNamed:@"minus_highlighted"] forState:UIControlStateHighlighted];
    [minusbtn setTag:0];
    [self.view addSubview:minusbtn];
    [minusbtn addTarget:self action:@selector(Zoom:) forControlEvents:UIControlEventTouchUpInside];
}

//调控方向的四个开关调用同叁个方法
-(void)Click:(UIButton *)button
{

    //练习使用frame属性
    //CGRect frame=self.headImageView.frame;
   
    /**注意,这里若是调控地点的两日性格frame和center同一时候采纳以来,会产出很有意思的职能,注意解析*/
    //演练使用center属性
    CGPoint center=self.headImageView.center;
    switch (button.tag) {
        case ktopbtntag:
            center.y-=30;
            break;
        case kdownbtntag:
            center.y+=30;
            break;
        case kleftbtntag:
            //发现多少个bug,在此以前的标题是因为少写了break,变成了它们的逐一推行,sorry
           //center.x=center.x-30;
            center.x-=50;
            break;
        case krightbtntag:
            center.x+=50;
            break;
    }
   
 //  self.headImageView.frame=frame;
   
    //首尾式设置动漫效果
    [UIView beginAnimations:nil context:nil];
    self.headImageView.center=center;
    //设置时间
    [UIView setAnimationDuration:2.0];
    [UIView commitAnimations];
    NSLog(@"移动!");
   
}
-(void)Zoom:(UIButton *)btn
{
    //使用frame,以团结的左上角(自个儿的原点)为原点
//    CGRect frame=self.headImageView.frame;
//    if (btn.tag) {
//        frame.size.height+=30;
//        frame.size.width+=30;
//    }
//    else
//    {
//        frame.size.width-=50;
//        frame.size.height-=50;
//    }
//    self.headImageView.frame=frame;
   
   
    //使用bounds,以中央点位原点进行缩放
    CGRect bounds = self.headImageView.bounds;
    if (btn.tag) {
        bounds.size.height+=30;
        bounds.size.width+=30;
    }
    else
    {
        bounds.size.height-=50;
        bounds.size.width-=50;
    }
   
    //设置首尾动漫
    [UIView beginAnimations:nil context:nil];
    self.headImageView.bounds=bounds;
    [UIView setAnimationDuration:2.0];
    [UIView commitAnimations];
}
@end

福寿康宁效果与利益:

图片 2

三、轻易的卡通效果

简轻便单介绍首尾式动漫效果
(1)早先动漫
(2)设置动漫相关的时光等
(3)插手动漫的行动
(4)提交动漫
注:实今世码参谋上面包车型客车代码
 
**四、transframe属性(形变)

  1. transform属性**

在OC中,通过transform属性能够校正对象的移动、缩放比例和旋转角度

常用的创办transform构造体方法分两大类

(1) 创设“基于控件初阶地点”的形变

CGAffineTransformMakeTranslation(平移)

CGAffineTransformMakeScale(缩放)

CGAffineTransformMakeRotation(旋转)

 

(2) 创建“基于transform参数”的形变

CGAffineTransformTranslate

CGAffineTransformScale

CGAffineTransformRotate

 

补充:

在OC中,全数跟角度相关的数值,都是弧度值,180° = M_PI

正数表示顺时针旋转

负数表示逆时针旋转

 

提示:由于transform属性能够依靠控件的上贰回的情况进行叠合形变,例如,先旋转再平移。因此在其实动画开采中,当提到职责、尺寸形变效果时,多数纠正控件的transform属性,而不是frame、bounds、center 。

2.代码演示

复制代码 代码如下:

//
//  YYViewController.m
//  01-演练使用按键的frame和center属性
//
//  Created by apple on 14-5-21.
//  Copyright (c) 2014年 itcase. All rights reserved.
//

#import "YYViewController.h"

//私有扩大
@interface YYViewController ()

@property(nonatomic,weak)IBOutlet UIButton *headImageView;
@end

复制代码 代码如下:

@implementation YYViewController

//枚举类型,从1起来
//枚举类型有三个相当的大的坚决守护,便是用来代替程序中的法力数字
typedef enum
{
    ktopbtntag=1,
    kdownbtntag,
    krightbtntag,
    kleftbtntag
}btntag;

//viewDidLoad是视图加载成功后调用的秘诀,常常在那方法中试行视图调整器的伊始化工作

  • (void)viewDidLoad
    {
       
        //在viewDidLoad方法中,不要遗忘调用父类的法子实现
        [super viewDidLoad];

   
    //手写控件代码
    //风华正茂、写贰个开关控件,下边有一张图片
   
    //1.使用类创设二个开关对象
   // UIButton *headbtn=[[UIButton alloc] initWithFrame:CGRectMake(100 ,100, 100, 100)];
    //设置开关对象为自定义型
    UIButton *headbtn=[UIButton buttonWithType:UIButtonTypeCustom];
   
    //2.设置对象的各种品质
   
    //(1卡塔尔(英语:State of Qatar)地方等通用属性设置
    headbtn.frame=CGRectMake(100, 100, 100, 100);
   
    //(2卡塔尔(قطر‎设置普通状态下开关的性质
    [headbtn setBackgroundImage:[UIImage imageNamed:@"i"] forState:UIControlStateNormal];
    [headbtn setTitle:@"点我!" forState:UIControlStateNormal];
    [headbtn setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
   
    //(3卡塔尔(قطر‎设置高亮状态下按键的性质
    [headbtn setBackgroundImage:[UIImage imageNamed:@"a"] forState:UIControlStateHighlighted];
    [headbtn setTitle:@"还行吧~" forState:UIControlStateHighlighted];
    [headbtn setTitleColor:[UIColor blueColor] forState:UIControlStateHighlighted];
   
    //3.把指标增加到视图中表现出来
    [self.view addSubview:headbtn];
    //注意点!
    self.headImageView=headbtn;

   
    //二、写五个调整图片左右内外运动方向的按键控件
   
    /**================向上的开关=====================*/
    //1.创造按钮对象
    UIButton *topbtn=[UIButton buttonWithType:UIButtonTypeCustom];
   
    //2.设置对象的属性
    topbtn.frame=CGRectMake(100, 250, 40, 40);
    [topbtn setBackgroundImage:[UIImage imageNamed:@"top_normal"] forState:UIControlStateNormal];
    [topbtn setBackgroundImage:[UIImage imageNamed:@"top_highlighted"] forState:UIControlStateHighlighted];
    [topbtn setTag:1];
    //3.把控件增添到视图中
    [self.view addSubview:topbtn];
   
    //4.开关的单击调整事件
    [topbtn addTarget:self action:@selector(Click:) forControlEvents:UIControlEventTouchUpInside];
   
   
      /**================向下的按键=====================*/
    //1.创设按键对象
    UIButton *downbtn=[UIButton buttonWithType:UIButtonTypeCustom];
    //2.设置对象的属性
    downbtn.frame=CGRectMake(100, 350, 40, 40);
    [downbtn setBackgroundImage:[UIImage imageNamed:@"bottom_normal"] forState:UIControlStateNormal];
    [downbtn setBackgroundImage:[UIImage imageNamed:@"bottom_highlighted"] forState:UIControlStateHighlighted];
    [downbtn setTag:2];
    //3.把控件增添到视图中
    [self.view addSubview:downbtn];
   
    //4.开关的单击调整事件
    [downbtn addTarget:self action:@selector(Click:) forControlEvents:UIControlEventTouchUpInside];

   
     /**================向左的开关=====================*/
    //1.创立开关对象
    UIButton *leftbtn=[UIButton buttonWithType:UIButtonTypeCustom];
    //2.设置对象的天性
    leftbtn.frame=CGRectMake(50, 300, 40, 40);
    [leftbtn setBackgroundImage:[UIImage imageNamed:@"left_normal"] forState:UIControlStateNormal];
    [leftbtn setBackgroundImage:[UIImage imageNamed:@"left_highlighted"] forState:UIControlStateHighlighted];
    [leftbtn setTag:4];
    //3.把控件增添到视图中
    [self.view addSubview:leftbtn];
   
    //4.按键的单击调控事件
    [leftbtn addTarget:self action:@selector(Click:) forControlEvents:UIControlEventTouchUpInside];
   
   
   
    /**================向右的开关=====================*/
    //1.创制按键对象
    UIButton *rightbtn=[UIButton buttonWithType:UIButtonTypeCustom];
    //2.设置对象的习性
    rightbtn.frame=CGRectMake(150, 300, 40, 40);
    [rightbtn setBackgroundImage:[UIImage imageNamed:@"right_normal"] forState:UIControlStateNormal];
    [rightbtn setBackgroundImage:[UIImage imageNamed:@"right_highlighted"] forState:UIControlStateHighlighted];
    [rightbtn setTag:3];
    //3.把控件加多到视图中
    [self.view addSubview:rightbtn];
   
    //4.开关的单击调节事件
    [rightbtn addTarget:self action:@selector(Click:) forControlEvents:UIControlEventTouchUpInside];
   
      //三、写五个缩放开关
       /**================放大的按键=====================*/
    //1.创设对象
    UIButton *plusbtn=[UIButton buttonWithType:UIButtonTypeCustom];
    //2.设置属性
    plusbtn.frame=CGRectMake(75, 400, 40, 40);
    [plusbtn setBackgroundImage:[UIImage imageNamed:@"plus_normal"] forState:UIControlStateNormal];
    [plusbtn setBackgroundImage:[UIImage imageNamed:@"plus_highlighted"] forState:UIControlStateHighlighted];
    [plusbtn setTag:1];
    //3.增多到视图
    [self.view addSubview:plusbtn];
    //4.单击事件
    [plusbtn addTarget:self action:@selector(Zoom:) forControlEvents:UIControlEventTouchUpInside];
   
   
    /**================降低的按键=====================*/
    UIButton *minusbtn=[UIButton buttonWithType:UIButtonTypeCustom];
    minusbtn.frame=CGRectMake(125, 400, 40, 40);
    [minusbtn setBackgroundImage:[UIImage imageNamed:@"minus_normal"] forState:UIControlStateNormal];
    [minusbtn setBackgroundImage:[UIImage imageNamed:@"minus_highlighted"] forState:UIControlStateHighlighted];
    [minusbtn setTag:0];
    [self.view addSubview:minusbtn];
    [minusbtn addTarget:self action:@selector(Zoom:) forControlEvents:UIControlEventTouchUpInside];
   
    /**================向左旋转开关=====================*/
    UIButton *leftrotatebtn=[UIButton buttonWithType:UIButtonTypeCustom];
    [leftrotatebtn setFrame:CGRectMake(175, 400, 40, 40)];
    [leftrotatebtn setBackgroundImage:[UIImage imageNamed:@"left_rotate_normal"] forState:UIControlStateNormal];
    [leftrotatebtn setBackgroundImage:[UIImage imageNamed:@"left_rotate_highlighted"] forState:UIControlStateHighlighted];
    [leftrotatebtn setTag:1];
    [self.view addSubview:leftrotatebtn];
    [leftrotatebtn addTarget:self action:@selector(Rotate:) forControlEvents:UIControlEventTouchUpInside];
   
    /**================向右旋转按键=====================*/
    UIButton *rightrotatebtn=[UIButton buttonWithType:UIButtonTypeCustom];
    [rightrotatebtn setFrame:CGRectMake(225, 400, 40, 40)];
    [rightrotatebtn setBackgroundImage:[UIImage imageNamed:@"right_rotate_normal"] forState:UIControlStateNormal];
    [rightrotatebtn setBackgroundImage:[UIImage imageNamed:@"right_rotate_highlighted"] forState:UIControlStateHighlighted];
    [rightbtn setTag:0];
    [self.view addSubview:rightrotatebtn];
    [rightrotatebtn addTarget:self action:@selector(Rotate:) forControlEvents:UIControlEventTouchUpInside];
}

//调整方向的多个开关调用同一个办法
-(void)Click:(UIButton *)button
{

    //练习使用frame属性
    //CGRect frame=self.headImageView.frame;
   
    /**留意,这里要是调节地方的两特个性frame和center相同的时候选择以来,会不能自已很风趣的据守,注意深入分析*/
    //练习使用center属性
    CGPoint center=self.headImageView.center;
    switch (button.tag) {
        case ktopbtntag:
            center.y-=30;
            break;
        case kdownbtntag:
            center.y+=30;
            break;
        case kleftbtntag:
            //发掘一个bug,早先的标题是因为少写了break,形成了它们的相继实施,sorry
           //center.x=center.x-30;
            center.x-=50;
            break;
        case krightbtntag:
            center.x+=50;
            break;
    }
   
 //  self.headImageView.frame=frame;
   
    //首尾式设置动漫效果
    [UIView beginAnimations:nil context:nil];
    self.headImageView.center=center;
    //设置时间
    [UIView setAnimationDuration:2.0];
    [UIView commitAnimations];
    NSLog(@"移动!");
   
}
-(void)Zoom:(UIButton *)btn
{
    //使用bounds,以着力点位原点进行缩放
    CGRect bounds = self.headImageView.bounds;
    if (btn.tag) {
        bounds.size.height+=30;
        bounds.size.width+=30;
    }
    else
    {
        bounds.size.height-=50;
        bounds.size.width-=50;
    }
   
    //设置首尾动漫
    [UIView beginAnimations:nil context:nil];
    self.headImageView.bounds=bounds;
    [UIView setAnimationDuration:2.0];
    [UIView commitAnimations];
}

-(void)Rotate:(UIButton *)rotate
{
    //位移(不累加)
    //self.headImageView.transform=CGAffineTransformMakeTranslation(50, 200);
    //缩放
    //self.headImageView.transform=CGAffineTransformMakeScale(1.2, 10);
    //在原来的底子上位移(是拉长的)
    //self.headImageView.transform=CGAffineTransformTranslate(self.headImageView.transform, 50, 50);
    //在原来的底蕴上海展览中心开缩放
    //self.headImageView.transform=CGAffineTransformScale(self.headImageView.transform, 1.5, 1.6);
   
    //在原来的底子上开展旋转
    if (rotate.tag) {
        //旋转角度为1/pi,逆时针
        self.headImageView.transform=CGAffineTransformRotate(self.headImageView.transform, -M_1_PI);
    }
    else
    {
        //旋转的角度为pi/2,顺时针
    self.headImageView.transform=CGAffineTransformRotate(self.headImageView.transform, M_PI_2);
    }
   
}
@end

金玉满堂效果与利益:

图片 3

3.viewDidLoad

viewDidLoad是视图加载成功后调用的秘籍,日常在这里格局中推行视图调整器的最初化工作

在viewDidLoad方法中,一定不要遗忘调用父类的办法完结

复制代码 代码如下:

[super viewDidLoad];

你可能感兴趣的稿子:

  • 详细明白iOS中UIButton的三大UIEdgeInsets属性用法
  • IOS 贝塞尔曲线(UIBezierPath)属性、方法收拾
  • iOS App开荒中程导弹航栏的创建及骨干特性设置教程
  • iOS开采笔记--详整UILabel的连带属性设置
  • iOS UIView多如牛毛属性方法小结
  • 关于iOS中品质变量setter与getter方法的掌握
  • iOS 对象属性详细介绍
  • IOS property属性详细介绍使用注意事项
  • 关于iOS获取属性你实在精晓吗?

本文由今晚买四不像发布于今晚买四不像计算,转载请注明出处:动画按钮实现,iOS开发中一些手写控件及其相关

关键词: