我必须在我的 ipad 应用程序中提供删除缩略图动画,就像 iphone/ipad 应用程序删除效果一样。任何身体帮助我请附上样品照片
如果您需要更多详细信息,请在评论中提及
我已经使用CGAffineTransformMakeRotation
. 不知道有没有其他更好的方法。但是我所做的是我的逻辑,你可以照原样复制它,你只需要在该视图的左上方添加一个删除按钮。在下面的代码中,我只是为缩略图或任何视图设置动画,就像 iPad 在其主屏幕上所做的那样。一件事,您需要全局声明 int 方向。每次调用此方法时,都会设置 direction = 1;
-(void)shakeToDelete:(UIView *)shakeMe
{
[UIView animateWithDuration:0.1 animations:^
{
shakeMe.transform = CGAffineTransformMakeRotation(0.05 * direction);
}
completion:^(BOOL finished)
{
direction = direction * -1;
[self shakeToDelete:shakeMe];
}];
}
/// 编辑我尝试过这种方式并让它在我的示例屏幕中工作,如照片中所附
您最好使用自动反转和循环动画,因为一遍又一遍地创建动画将满足手机内存。
使用此代码,仅保留一个动画。
view.transform = CGAffineTransformMakeRotation(-kDeleteAnimationAmplitude);
[UIView animateWithDuration:0.1 delay:0 options:UIViewAnimationOptionRepeat|UIViewAnimationOptionAutoreverse animations:^{
view.transform = CGAffineTransformMakeRotation(kDeleteAnimationAmplitude);
} completion:nil];
然后,如果您想停止动画,只需调用:
[view.layer removeAllAnimations];