我可能会在视图控制器中将一个视图转换为另一个视图的错误方法,但我最终遇到的一个错误是视图在淡出时仍能检测到触摸。
有没有办法告诉你的程序在全球范围内停止检测触摸?
-OR -
我有更好的方式从一个视图淡出到另一个视图吗?我希望有一种方法来缓存旧视图的图片,因为我只需要它来实现效果,我不需要它实际上是活跃的!
现在正在调用视图控制器方法gotoIntro:
- (void)gotoIntro {
NSLog(@"switch to intro");
[UIView beginAnimations:nil context:NULL]; {
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationDuration:.5];
[UIView setAnimationDelegate:self];
for(UIView *v in [containerView subviews]) {
v.alpha = 0;
v.frame = CGRectMake(0, 0, 1024, 768);
[UIView setAnimationDidStopSelector:@selector(removeView:finished:context:)];
}
MainMenu *mainMenu = [[MainMenu alloc] init];
mainMenu.frame = CGRectMake(0, 0, 1024, 768);
[containerView insertSubview:mainMenu atIndex:0];
[mainMenu release];
}
[UIView commitAnimations];
} - (void)removeView:(NSString *)animationID finished:(NSNumber *)完成上下文:(void *)context { NSLog(@“VIEW REMOVED”); [[self.view.subviews objectAtIndex:1] removeFromSuperview]; }
上一个视图设置为索引1,我希望我不必这样做。抱歉,我无法将其余代码放在该框中。 Stack Overflow已损坏。
答案 0 :(得分:3)
分别致电[[UIApplication sharedApplication] beginIgnoringInteractionEvents]
和endIgnoringInteractionEvents
。
答案 1 :(得分:1)
这些行会帮助你......
self.view.userInteractionEnabled = NO;
self.view.multipleTouchEnabled = NO;
self.view.exclusiveTouch = NO;
欢呼声..