我刚刚通过组合单独的iPhone和iPad项目使我的应用程序更加通用。一切似乎都在起作用,但有一个主要的错误。
当iPad应用程序启动时,它只显示黑屏(可能是窗口)和状态栏。当我按下主页按钮时,我突然看到SplitViewController,因为它消失了。当我再次打开应用程序时,会显示SplitViewController。
我无法弄清楚为什么控制器仅在我关闭并重新打开应用程序后显示。有什么想法吗?
(我不知道造成这种情况的原因是什么,如果您需要来自特定地点的代码示例,请告诉我。)
感谢。
编辑:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[Appirater appLaunched:YES];
// Registers this class as the delegate of the audio session.
[[AVAudioSession sharedInstance] setDelegate: self];
// Allow the app sound to continue to play when the screen is locked.
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
justOpened = YES;
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
// Override point for customization after application launch.
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {
{deleted}
} else {
[self.window addSubview:self.splitViewController.view];
[self.window makeKeyAndVisible];
CGRect rect = CGRectMake(-2, self.window.frame.size.height-29, self.window.frame.size.width+2, 29);
imgBar = [[UIImageView alloc] initWithFrame:rect];
imgBar.contentMode = UIViewContentModeScaleToFill;
imgBar.image = [UIImage imageNamed:@"wood_btm.png"];
imgBar.autoresizingMask = UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleTopMargin;
self.splitViewController.showsMasterInPortrait = YES;
self.splitViewController.title = @"Exams";
self.splitViewController.splitPosition=280;
}
return YES;
}
更新
通过弄乱窗口的背景颜色,我发现由于某种原因,它位于视图层次结构的顶部。然后我将窗口的背景颜色清晰,我可以看到SplitViewController。奇怪的是我也可以与它互动。所以基本上我通过使窗口清晰来解决问题。这显然不是理想的解决方案,但如果有人能想到原因让我知道。
答案 0 :(得分:1)
[self.window addSubview:self.splitViewController.view];
[self.window makeKeyAndVisible];
return YES;
应该在-applicationDidFinishLaunching:WithOptions:
方法的末尾。
答案 1 :(得分:0)
通过弄乱窗口的背景颜色,我发现由于某种原因,它位于视图层次结构的顶部。然后我将窗口的背景颜色清晰,我可以看到SplitViewController。奇怪的是我也可以与它互动。所以基本上我通过使窗口清晰来解决问题。