IOS:在带有动画的ImageView下禁用scrollview

IOS:在带有动画的ImageView下禁用scrollview,ios,xcode,uiscrollview,Ios,Xcode,Uiscrollview,在我的应用程序中,我有一个“已启用分页”的滚动视图,当我选择一个页面时,imageview会以这种方式启动动画 - (void) beginWinAnimation{ [UIView animateWithDuration:2.5 animations:^{successView.alpha = 1.0;} completion:^(BOOL finished){ [UIView anima

在我的应用程序中,我有一个“已启用分页”的滚动视图,当我选择一个页面时,imageview会以这种方式启动动画

- (void) beginWinAnimation{
[UIView animateWithDuration:2.5
                 animations:^{successView.alpha = 1.0;}
                 completion:^(BOOL finished){ 

                 [UIView animateWithDuration:2.5
                 animations:^{successView.alpha = 0;}];
                 }];}

在此动画中,我可以在此successView下看到scrollview,并可以移动scrollview页面;我希望在动画期间,您不能移动滚动视图,但只有在动画完成后,才可以移动滚动视图?

是的,这是可能的。动画开始时,设置
[scrollView设置可滚动:否]动画完成后,将其设置回
YES

所以在你的代码中,它看起来像-

- (void) beginWinAnimation{

[scrollView setScrollEnabled:NO];

[UIView animateWithDuration:2.5
                 animations:^{
                     successView.alpha = 1.0;
                 }
                 completion:^(BOOL finished){ 
                     [UIView animateWithDuration:2.5
                         animations:^{successView.alpha = 0;}
                         completion:^(BOOL finished){ 
                             [scrollView setScrollEnabled:YES];
                         }]; 
                 }];}

看看这是否有效。

这是一个完全正确的答案;我想切换
userInteractionEnabled
这是
uicrollview
继承自
UIView
userInteractionEnabled
作为
scrollEnabled
的替代方法值得一提,因为@blackguardian只想阻止滚动,所以只阻止滚动是有意义的。我们可以通过关闭
userInteractionEnabled
来实现同样的行为,但随后屏幕上的所有内容都变得不可见。这导致了一些丑陋的可用性问题。所以…它工作,但有一个问题,滚动启用时,阿尔法变化1至0;当alpha由0变为1时,这就是您现在想要的吗?是的,当动画运行时,滚动应该被禁用