Ric*_*hez 2 uiviewanimation ios
我有以下代码块淡出introView(UIView)
// Hide intro view after 5 seconds
[UIView animateWithDuration: 1.0
delay: 5.0
options: (UIViewAnimationOptionAllowUserInteraction |UIViewAnimationOptionCurveLinear)
animations: ^{
introView.alpha = 0;
}
completion: ^(BOOL finished) {
[introView removeFromSuperview];
}];
Run Code Online (Sandbox Code Playgroud)
我在introVew中有一个跳过按钮,但没有任何交互,我错过了什么?我必须添加这是一个针对3.2的通用应用程序,我正在使用XCode 4.2
很确定这不可能在4.0之前:
UIView userInteractionEnabled Docs
在动画期间,无论此属性中的值如何,都会暂时禁用动画中涉及的所有视图的用户交互.您可以通过在配置动画时指定UIViewAnimationOptionAllowUserInteraction选项来禁用此行为.
在你尚未发布的应用程序中定位3.2似乎没什么意义.
您将按钮alpha设置为0吗?
如果是,这里有一个关于动画的有趣的事情.
您在动画期间在屏幕上看到的内容不是应用程序看到的内容.将alpha设置为0的那一刻,即使您仍然在屏幕上看到该视图,alpha也为0.
此外,α低于0.05(不记得确切数字)的视图将不会获得触摸事件.
你可以做的是实现该- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event视图的superview.或者touchesEnded...你喜欢的.
(假设你没有将它的alpha设置为0.)
因此,您可以测试按钮所在的触摸,或者只是删除该按钮,让屏幕上的任何触摸都取消动画.
你可能也对这篇文章感兴趣:
核心动画,意想不到的动画位置和hitTest值