iphone - UIView animateWithDuration 仅动画一次

标签 iphone ios animation uiimageview

我设置了一个动画 block ,在用户执行搜索时启动。搜索完成后,将推送一个新 View 。这工作正常,直到用户选择后退按钮并再次尝试搜索,现在动画不会开始。

[UIView animateWithDuration:0.25
                      delay:0.0
                    options:(UIViewAnimationOptionRepeat | UIViewAnimationOptionCurveLinear)
                 animations:^{

                     _collectionImage.transform = CGAffineTransformMakeRotation(M_PI);

                 }
                 completion:^(BOOL finished){
                     NSLog(@"Done!");
                 }];

在任何人询问之前,动画只是一个旋转的圆盘,并且当推送的 View 加载时调用完成 block 。任何关于为什么它不会在多次搜索时动画的帮助将不胜感激。

谢谢。

最佳答案

嗨,这是你的问题...

将仿射值 x 更改为 y

所以现在你的变换值是 y 那么你又等于 y =y

那么它是如何工作的......

最初您需要存储变换值,然后在完成动画后对其进行动画处理,您需要恢复该值

viewDidLoad中这样做:

initalTransform=_collectionImage.transform;


[UIView animateWithDuration:0.25
                      delay:0.0
                    options:(UIViewAnimationOptionRepeat | UIViewAnimationOptionCurveLinear)
                 animations:^{

                     _collectionImage.transform = CGAffineTransformMakeRotation(M_PI);

                 }
                 completion:^(BOOL finished){
                     NSLog(@"Done!");
_collectionImage.transform=initalTransform;
                 }];

试试这个......这是一个你需要按照你的逻辑实现的想法......

关于iphone - UIView animateWithDuration 仅动画一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12565842/

相关文章:

iphone - 在新 iPhone 应用程序和新 Rails 3 后端之间移动对象图

ios - Swift 3 - slider 的指针宽度

ios - alamofire-将 json 字符串作为参数传递

ios - Xcode 9 不会通过变量名自动完成函数

Jquery 动画无法正常工作,行为怪异

ios - ReactiveCocoa 和 MVVM 混淆

ios - XCode iOS - 如何为 UICollectionView 的位置设置动画? (从屏幕底部滑入)

ios - Xamarin iOS |从 Windows 上的 Visual Studio 连接 Xamarin 构建主机时出错

CSS "fill-mode:forwards"在 Safari 中不工作

css - 完成无限迭代循环并使用 CSS 停止动画