2011-01-27 75 views
1

我可能会错误地将一个视图转换到另一个视图控制器,但是我最终得到的一个错误是视图在淡出时仍然可以检测到触摸。全局停止所有触摸检测?

有没有办法告诉您的程序在全局范围内轻松停止检测触摸?

- 或 -

有没有更好的办法,我从一个视图到另一个褪色?我希望有一种方法可以缓存旧视图的图片,因为我只需要它就能达到效果,我不需要它实际上处于活动状态!

眼下视图控制器方法被调用,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]; 

} - (无效)removeView:(的NSString *)animationID完成:(的NSNumber *)完成上下文:(无效*)上下文NSLog(@“VIEW REMOVED”); [[self.view.subviews objectAtIndex:1] removeFromSuperview]; }

上一个视图设置为索引1,我希望我不必这样做。抱歉,我无法将其余的代码放在该框中。堆栈溢出已损坏。

回答

3

分别呼叫[[UIApplication sharedApplication] beginIgnoringInteractionEvents]endIgnoringInteractionEvents

1

这些生产线将帮助你......

self.view.userInteractionEnabled = NO; 
self.view.multipleTouchEnabled = NO; 
self.view.exclusiveTouch = NO; 

欢呼声..

+0

由于这是很好的了解,以及!超级有用.. – VagueExplanation 2011-01-28 22:11:01