首页 > 技术文章 > Mac - 实现删除按钮的抖动效果

741162830qq 2016-01-25 11:00 原文

在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"];
}

 

推荐阅读