定時器。動畫。數組。字符串拼接。
定時器Gif
- (void)viewDidLoad {
[super viewDidLoad];
image=[[UIImageView alloc] initWithFrame:self.view.frame];
image.image= [UIImage imageNamed:@"1.png"];
[self.view addSubview:image];
[NSTimer scheduledTimerWithTimeInterval:1/18.0 target:self selector:@selector(changePicture) userInfo:nil repeats:YES];
}
- (void)changePicture {
static int a = 1;
a ++;
//a%44+1循環
image.image= [UIImage imageNamed:[NSString stringWithFormat:@"%d.png",a%44+1]];
/*
if (a == 45) {
a = 1;
}
NSString *name = [NSString stringWithFormat:@"%d.png",a%44+1];
image.image = [UIImage imageNamed:name];
*/
}
動畫Gif
- (void)viewDidLoad {
[super viewDidLoad];
//創建圖片視圖
_imageView=[[UIImageView alloc] initWithFrame:self.view.frame];
//靜態圖片:當動態圖片停止時,會顯示靜態圖片
//如果不設置靜態圖片,動態圖片停止只會就是空白
_imageView.image= [UIImage imageNamed:@"1.png"];
[self.view addSubview:_imageView];
//創建幾張圖片
UIImage *image1 = [UIImage imageNamed:@"1.png"];
UIImage *image2 = [UIImage imageNamed:@"10.png"];
UIImage *image3 = [UIImage imageNamed:@"35.png"];
//_imageView有animationImages動態圖片屬性
// NSArray數組NS的類的顯示都和界面沒關系
//Objects元素
_imageView.animationImages= [[NSArray alloc] initWithObjects:image1,image2,image3,nil];
//animationDuration設置動態圖片每循環切換一次的時間表示整個圖片集切換一次的時間
_imageView.animationDuration= 1;
//animationRepeatCount重復次數默認次數是無限,可不設置;設置為0也是無限次數表示無限重復
_imageView.animationRepeatCount= 0;
//開始動畫,(imageView幀動畫,改變圖片的內容) (UIView動畫,改變大小和位置)
//[_imageView startAnimating];
//停止動畫
//[_imageView stopAnimating];
}
//觸摸方法
- (void)touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event {
//開始動畫
[_imageView startAnimating];
//停止幀動畫
//停止回到靜態屬性圖片(第一張);
//[_imageView stopAnimating];
}
數組實現幀動畫
//改變圖片的方法
- (void)touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event {
//創建可變數組
NSMutableArray * _mutableArray = [NSMutableArray arrayWithCapacity:0];
//往數組中添加圖片
for(inti = 1; i <= 44; i ++) {
//拼接圖片名稱
NSString *name = [NSStringstringWithFormat:@"%d.png",i];
//創建圖片
UIImage *image = [UIImage imageNamed:name];
//把圖片放到數組里
[_mutableArray addObject:image];
}
//輸出數組,檢驗添加是否正確(圖片名字是否正確,創建全局變量,創建數組)
NSLog(@"%@",_mutableArray);
//設置幀動畫圖片
_imageV.animationImages= _mutableArray;
_imageV.animationDuration= 44/18.0;
//每次點擊按鈕,都播放一次
_imageV.animationRepeatCount= 1;
//開始動畫
[_imageV startAnimating];
}