关于iOS中的UIActivityIndicatorView

关于iOS中的UIActivityIndicatorView,ios,Ios,假设有一个UIView作为容器,其中包含UIActivityIndicatorView和其他子视图。当UIActivityIndicatorView正在制作动画时,它会将userInteractionEnabled属性设置为否,这会使其所有同级视图停止接收输入事件 我签了苹果的文件,它建议我们可以使用UIViewAnimationOptionAllowUserInteraction常量来解决这个问题。但是我不知道在哪里或哪个属性来设置这个常量。有人遇到过这个问题并解决了吗?UIViewAnima

假设有一个
UIView
作为容器,其中包含
UIActivityIndicatorView
和其他子视图。当
UIActivityIndicatorView
正在制作动画时,它会将
userInteractionEnabled
属性设置为否,这会使其所有同级视图停止接收输入事件


我签了苹果的文件,它建议我们可以使用
UIViewAnimationOptionAllowUserInteraction
常量来解决这个问题。但是我不知道在哪里或哪个属性来设置这个常量。有人遇到过这个问题并解决了吗?

UIViewAnimationOptionAllowUserInteraction
是用块设置视图动画的选项之一。允许用户在设置视图动画时与视图交互

enum {
   UIViewAnimationOptionLayoutSubviews            = 1 <<  0,
   UIViewAnimationOptionAllowUserInteraction      = 1 <<  1,
   UIViewAnimationOptionBeginFromCurrentState     = 1 <<  2,
   UIViewAnimationOptionRepeat                    = 1 <<  3,
   UIViewAnimationOptionAutoreverse               = 1 <<  4,
   UIViewAnimationOptionOverrideInheritedDuration = 1 <<  5,
   UIViewAnimationOptionOverrideInheritedCurve    = 1 <<  6,
   UIViewAnimationOptionAllowAnimatedContent      = 1 <<  7,
   UIViewAnimationOptionShowHideTransitionViews   = 1 <<  8,

   UIViewAnimationOptionCurveEaseInOut            = 0 << 16,
   UIViewAnimationOptionCurveEaseIn               = 1 << 16,
   UIViewAnimationOptionCurveEaseOut              = 2 << 16,
   UIViewAnimationOptionCurveLinear               = 3 << 16,

   UIViewAnimationOptionTransitionNone            = 0 << 20,
   UIViewAnimationOptionTransitionFlipFromLeft    = 1 << 20,
   UIViewAnimationOptionTransitionFlipFromRight   = 2 << 20,
   UIViewAnimationOptionTransitionCurlUp          = 3 << 20,
   UIViewAnimationOptionTransitionCurlDown        = 4 << 20,
   UIViewAnimationOptionTransitionCrossDissolve   = 5 << 20,
   UIViewAnimationOptionTransitionFlipFromTop     = 6 << 20,
   UIViewAnimationOptionTransitionFlipFromBottom  = 7 << 20,
};
typedef NSUInteger UIViewAnimationOptions;

使用
UIActivityIndicatorView
时,我通常创建空的支架视图,将其放在前面,并将其放入UIActivityIndicatorView中。当流程完成时,只需删除此视图
[UIView animateWithDuration:0.4f 
                      delay:0.2f 
                    options:UIViewAnimationOptionAllowUserInteraction | UIViewAnimationOptionCurveEaseInOut
                 animations:^{
                     [myView setFrame:CGRectOffset(view.frame, 0, -100)];
                 }
                 completion:^(BOOL finished){ 
                         NSLog(@"completed");
                     }
 ];