我的模态UIViewController在动画开始之前显示的背景有问题。我有一个简单的UINavigationController,它装载一个UIViewController。然后,我通过presentModalViewController调用呈现UINavigationController,它从下面滑上来。在UIViewController的loadView方法中,我设置了标准的self。并创建一个背景UIImageView。这个背景加载,但只有在模态动画完成之后。我以前做过很多次这样的事情,记得有一次遇到过这个问题,但我一辈子都找不到我的"神奇"解决方案是什么。
我的代码如下:
PhotoVideoViewController *photo = [[PhotoVideoViewController alloc] init];
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:photo];
NSLog(@"start present modal view controller");
[self.navigationController presentModalViewController:nav animated:YES];
[photo release];
[nav release];
PhotoVideoViewController loadView:
- (void)loadView {
UIView *myview = [[UIView alloc] initWithFrame:[UIScreen mainScreen].bounds];
self.view = myview;
[myview release];
NSLog(@"background loading");
UIImageView *background = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"background-main.png"]];
background.frame = CGRectMake(0, -45, 320, 480);
[self.view addSubview:background];
[background release];
}
"开始现在的模态视图控制器"显示在日志之前"后台加载"日志显示,这告诉我有些东西显然是错误的。我试图把[照片发布];在presentModalViewController之前,但它确实而不是解决问题。
我也在这里做了我的研究,没有其他帖子回答我的问题:
UINavigationController with presentModalViewController
UINavigationController和presentModalViewController
- 这两个都适用于正确的方式来使用UINavigationController作为一个模态屏幕与其中的UIViewController。
任何帮助都非常感谢。我试了好几种排列方式,都不明白。它有正确的顺序,但我的代码显然没有得到完美的顺序。
提前感谢!
J解决问题-简单的错误。有一个背景集,但使用的是"jpg"而不是"png";)遗憾的是,在这个问题上浪费了很多时间。