Я могу ошибаться при переходе одного вида на другой в контроллере вида, но в итоге у меня возникает ошибка, заключающаяся в том, что вид все еще может обнаруживать прикосновения при исчезновении.
Есть ли способ заставить вашу программу прекратить легко обнаруживать касания в глобальном масштабе?
-или-
Есть ли лучший способ для меня переходить от одного вида к другому? Я ожидал, что есть способ кешировать изображение старого представления, потому что оно мне нужно только для эффекта, мне не нужно, чтобы оно действительно было активным!
Прямо сейчас вызывается метод контроллера представления, 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 (@ "VIEW REMOVED");
[[self.view.subviews objectAtIndex: 1] removeFromSuperview];
}
Предыдущее представление настроено на индекс 1, что мне не нужно было делать. Извините, я не смог поместить оставшуюся часть кода в это поле. Переполнение стека нарушено.