我试图用iOS中的UIAlertView模拟OS X中错误的密码输入动画.基本上我希望它翻译警报左,然后翻译正确.这是我在做的事情:
[UIView animateWithDuration:0.5 animations:^{ alertView.transform = CGAffineTransformTranslate(CGAffineTransformIdentity,200,0); alertView.transform = CGAffineTransformTranslate(CGAffineTransformIdentity,-200,0); }];
然而,这没有期望的效果.瞬间向右发出警报,然后顺利转向左侧.如何让两个翻译在彼此之后顺利进行?
解决方法
试试这个:
[UIView animateWithDuration:0.5 animations:^{ alertView.transform = CGAffineTransformTranslate(CGAffineTransformIdentity,0); } completion:^(BOOL finished) { [UIView animateWithDuration:0.5 animations:^{ alertView.transform = CGAffineTransformTranslate(CGAffineTransformIdentity,0); }]; }];
但我会像这样做动画:
[UIView animateWithDuration:0.1 animations:^{ alertView.transform = CGAffineTransformTranslate(CGAffineTransformIdentity,20,0); } completion:^(BOOL finished) { [UIView animateWithDuration:0.1 animations:^{ alertView.transform = CGAffineTransformTranslate(CGAffineTransformIdentity,-20,0); } completion:^(BOOL finished) { [UIView animateWithDuration:0.1 animations:^{ alertView.transform = CGAffineTransformTranslate(CGAffineTransformIdentity,0); }]; }]; }];
由你决定!