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