当我调用animateWithDuration时,app开始忽略用户交互事件:delay:options:animations:completion:

时间:2011-12-08 15:37:01

标签: iphone ios4 ios5 core-animation objective-c-blocks

我的应用程序(UIButton的子类)中有一个按钮。要为发光设置动画,请使用以下方法

- (void)glow
{

    [UIView animateWithDuration:1.0f 
                          delay:0.0f 
                        options:UIViewAnimationOptionCurveEaseInOut 
                     animations:^(void){

                         if (glowingImageView_.alpha != 1.0f) {
                             [glowingImageView_ setAlpha:1.0f];
                         }
                         else {
                             [glowingImageView_ setAlpha:0.3f];
                         }

                     } 
                     completion:^(BOOL finnished){

                         if (on_) {
                             [self glow];
                         }

                     }];

}

在iOS 5上运行良好,但在iOS 4.3中我的应用程序停止处理任何用户交互。任何人都知道可能导致这种情况的原因是什么?

由于

1 个答案:

答案 0 :(得分:6)

根据UIView文档:

在动画期间,对正在设置动画的视图暂时禁用用户交互。 (在iOS 5之前,整个应用程序都禁用了用户交互。)如果您希望用户能够与视图进行交互,请在options参数中包含UIViewAnimationOptionAllowUserInteraction常量。< / p>

因此,在iOS 4.3中,禁用了用户交互。那是你的问题。