呈现模态视图控制器时 iPhone 崩溃 [英] iPhone crashing when presenting modal view controller
问题描述
我试图在另一个视图以模态方式呈现后立即显示一个模态视图(第二个是出现的加载视图).
I'm trying to display a modal view straight after another view has been presented modally (the second is a loading view that appears).
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
// Show load
LoadViewController *loader = [[LoadViewController alloc] init];
[self presentModalViewController: loader animated:NO];
[loader release];
}
但是当我这样做时,我得到一个程序接收信号:"EXC_BAD_ACCESS."错误.
But when I do this I get a "Program received signal: "EXC_BAD_ACCESS"." error.
堆栈跟踪是:
0 0x30b43234 in -[UIWindowController transitionViewDidComplete:fromView:toView:]
1 0x3095828e in -[UITransitionView notifyDidCompleteTransition:]
2 0x3091af0d in -[UIViewAnimationState sendDelegateAnimationDidStop:finished:]
3 0x3091ad7c in -[UIViewAnimationState animationDidStop:finished:]
4 0x0051e331 in run_animation_callbacks
5 0x0051e109 in CA::timer_callback
6 0x302454a0 in CFRunLoopRunSpecific
7 0x30244628 in CFRunLoopRunInMode
8 0x32044c31 in GSEventRunModal
9 0x32044cf6 in GSEventRun
10 0x309021ee in UIApplicationMain
11 0x00002154 in main at main.m:14
有什么想法吗?我完全被难住了!加载视图是空的,所以那里肯定没有任何事情会导致错误.这与在同一个事件循环中以模态方式启动 2 个视图有关吗?
Any ideas? I'm totally stumped! The loading view is empty so there's definitely nothing going on in there that's causing the error. Is it something to do with launching 2 views modally in the same event loop or something?
谢谢,
迈克
很奇怪...我稍微修改了一下,加载视图会在一点延迟后显示,这很好用!所以它似乎在同一个事件循环中!
Very strange... I have modified it slightly so that the loading view is shown after a tiny delay, and this works fine! So it appears to be something within the same event loop!
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
// Show load
[self performSelector:@selector(doit) withObject:nil afterDelay:0.1];
}
- (void)doit {
[self presentModalViewController:loader animated:YES];
}
推荐答案
我稍微修改了一下,加载视图会在一个微小的延迟后显示,效果很好!所以它似乎在同一个事件循环中!
I have modified it slightly so that the loading view is shown after a tiny delay, and this works fine! So it appears to be something within the same event loop!
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
// Show load
[self performSelector:@selector(doit) withObject:nil afterDelay:0.1];
}
- (void)doit {
[self presentModalViewController:loader animated:YES];
}
这篇关于呈现模态视图控制器时 iPhone 崩溃的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!