这里解释一个小例子,希望对你有点帮助,利用UISwitch控制UIimage的动画效果
先定义一个数组,用来存放照片,现在定义数组有一个特别简单的方法:
NSArray *image1 = @[];
但是要注意的是,其中插入的是对象。
UIImage *img1 = [UIImage imageNamed:@"1.png"]; UIImage *img2 = [UIImage imageNamed:@"2.png"]; UIImage *img3 = [UIImage imageNamed:@"3.png"]; NSArray *image1 = @[img1,img2,img3];
再定义一个UIImageView 视图用来显示动画效果,还有一个UISwitch用来控制动画效果
@property (strong,nonatomic) UIImageView *img;
UISwitch *switch1 = [[UISwitch alloc]initWithFrame:CGRectMake(140, 100, 50, 30)]; [switch1 addTarget:self action:@selector(switchclick:) forControlEvents:UIControlEventValueChanged]; _img = [[UIImageView alloc]initWithFrame:CGRectMake(110,250, 300, 300)];
然后设置动画效果属性
//表明要操作的数组 _img.animationImages = image1; //重复的次数,0代表点是无限次 _img.animationRepeatCount = 0; //重复的频率 _img.animationDuration = 0.1;
上边定义UISwitch的时候定义了一个动作方法,现在实现它
-(void)switchclick:(UISwitch *)aa { if (aa.on) { [_img startAnimating ]; } else { [_img stopAnimating]; } }
记得这样需要传参数的方法是如何定义的。
再加载一下两个的视图,完工
[self.view addSubview:switch1];
[self.view addSubview:_img];