在mac中实现删除按钮的抖动效果,使用核心动画
注意!注意!注意!!!这里在代理里面设置是关键啊!!
  [self.window.contentView setWantsLayer:YES];
必须设置setWantsLayer为YES


- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {

    // Insert code here to initialize your application
    [self.window.contentView setWantsLayer:YES];
    [self.closeWindow.layer setAnchorPoint:NSMakePoint(0.5, 0.5)];



    CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];

    //设置属性,周期时长
    [animation setDuration:0.08];

    //抖动角度
    animation.fromValue = @(-M_1_PI/2);
    animation.toValue = @(M_1_PI/2);
    //重复次数,无限大
    animation.repeatCount = HUGE_VAL;
    //恢复原样
    animation.autoreverses = YES;
    //锚点设置为图片中心,绕中心抖动
    self.closeWindow.layer.anchorPoint = CGPointMake(0.5, 0.5);

    [self.closeWindow.layer addAnimation:animation forKey:@"rotation"];
}

 

相关文章:

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