全局停止所有触摸检测?

时间:2011-01-27 21:19:51

标签: iphone xcode ipad uiview

我可能会在视图控制器中将一个视图转换为另一个视图的错误方法,但我最终遇到的一个错误是视图在淡出时仍能检测到触摸。

有没有办法告诉你的程序在全球范围内停止检测触摸?

-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已损坏。

2 个答案:

答案 0 :(得分:3)

分别致电[[UIApplication sharedApplication] beginIgnoringInteractionEvents]endIgnoringInteractionEvents

答案 1 :(得分:1)

这些行会帮助你......

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

欢呼声..