关于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");
}
];