这里需要感谢彭孝东老师通俗易懂的讲解,为各位初学者提供很好的入门视频,代码如下:
//
// ViewController.m
// test
//
// Created by chenqy on 16/11/19.
// Copyright © 2016年 chenqy. All rights reserved.
//
#import "ViewController.h"
typedef enum{
btn_start = 1,
btn_stop
}E_BTN_STATUs;
@interface ViewController ()
@property (weak, nonatomic) IBOutlet UIImageView *rotateImageView;
@property (weak, nonatomic) IBOutlet UIImageView *zoomImageView;
@property (nonatomic, strong) NSTimer *rotateTimer;
@property (nonatomic, assign) CGRect orgFrame;
@property (weak, nonatomic) IBOutlet UILabel *randomLabel;
@property (nonatomic, strong) NSArray *strArray;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
// self.rotateTimer = [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(rotate) userInfo:nil repeats:YES];
self.orgFrame = _zoomImageView.frame;
self.strArray = @[@"abc", @"bcd",@"cde",@"def"];
}
-(void)timeAction{
_rotateImageView.transform = CGAffineTransformRotate(_rotateImageView.transform, 20.0/180 * M_PI);
//note: 20.0 is float type,
[UIView animateWithDuration:0.1 animations:^{
_zoomImageView.frame = CGRectMake(_orgFrame.origin.x -10, _orgFrame.origin.y -10, _orgFrame.size.width+20, _orgFrame.size.height +20);
} completion:^(BOOL finished){
_zoomImageView.frame = CGRectMake(_orgFrame.origin.x, _orgFrame.origin.y, _orgFrame.size.width, _orgFrame.size.height);
}];
int index = arc4random() % _strArray.count;
_randomLabel.text = _strArray[index];
}
- (IBAction)testBtn:(UIButton *)sender {
if(sender.tag == btn_start){
[sender setImage:[UIImage imageNamed:@"stop"] forState:UIControlStateNormal];
self.rotateTimer = [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(timeAction) userInfo:nil repeats:YES];
sender.tag = btn_stop;
}else{
[sender setImage:[UIImage imageNamed:@"start"] forState:UIControlStateNormal];
[_rotateTimer invalidate];
sender.tag = btn_start;
}
}
@end
显示结果:
下载测试包:http://download.csdn.net/detail/chenyefei/9688088