1.先创建一个UIImageView.

- (void)createImageView {

    UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0.0,0.0, frame.size.width, frame.size.height)];

    imageView.image = [UIImageimageNamed:@"image1.png"];

    self.myImageView = imageView;

    [self addSubview:imageView];

}

 

 

问题:方法一二是让iamgeview 循环旋转角度,如果把imageview 放在tableviewcell上边,每次刷新tableview,imageview 的旋转速度会加倍;没有去做相应的处理,而是直接利用另一个旋转方法三

方法三:

 CABasicAnimation *animation =  [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
    //默认是顺时针效果,若将fromValue和toValue的值互换,则为逆时针效果
    animation.fromValue = [NSNumber numberWithFloat:0.f];
    animation.toValue =  [NSNumber numberWithFloat: M_PI *2];
    animation.duration  = 1;
    animation.autoreverses = NO;
    animation.fillMode =kCAFillModeForwards;
    animation.repeatCount = MAXFLOAT; //如果这里想设置成一直自旋转,可以设置为MAXFLOAT,否则设置具体的数值则代表执行多少次
    [self.imageView1.layer addAnimation:animation forKey:nil];

 

 

//方法一:

- (void)buttonAction:(id)sender {

    angle = 0.0;

    [selfstartAnimation];

}

- (void)startAnimation

{

    [UIView beginAnimations:nilcontext:nil];

    [UIView setAnimationDuration:0.01];

    [UIView setAnimationDelegate:self];

    [UIView setAnimationDidStopSelector:@selector(endAnimation)];

    self.myImageView.transform = CGAffineTransformMakeRotation(angle * (M_PI /180.0f));

    [UIView commitAnimations];

}

-(void)endAnimation

{

    angle += 15;

    [selfstartAnimation];

}
方法一

相关文章:

  • 2022-12-23
  • 2021-06-08
  • 2021-07-30
  • 2021-12-07
  • 2022-12-23
  • 2022-12-23
  • 2021-04-01
  • 2022-12-23
猜你喜欢
  • 2021-06-25
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-03
相关资源
相似解决方案