【发布时间】:2011-06-16 20:36:48
【问题描述】:
我在视图控制器中将一个视图转换为另一个视图的方法可能是错误的,但我最终遇到的一个错误是视图在淡出时仍然可以检测到触摸。
有没有办法让您的程序轻松停止全局检测触摸?
-或-
有没有更好的方法让我从一个视图淡入另一个视图?我希望有一种方法可以缓存旧视图的图片,因为我只需要它来实现效果,我不需要它来实际激活!
现在正在调用视图控制器方法,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 完成:(NSNumber *)完成上下文:(void *)context { NSLog(@"查看已删除"); [[self.view.subviews objectAtIndex:1] removeFromSuperview]; }
之前的视图设置为索引 1,我希望我不必这样做。抱歉,我无法将其余代码放入该框中。堆栈溢出已损坏。
【问题讨论】: