如果设备是iPhone 5,我试图在我的应用程序启动时检测到。如果设备是iPhone我想要启动我的故事板,否则另一个故事板。我在didFinishLaunchingWithOptions方法中尝试了这段代码:
if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone){
UIStoryboard *storyBoard;
CGSize result = [[UIScreen mainScreen] bounds].size;
CGFloat scale = [UIScreen mainScreen].scale;
result = CGSizeMake(result.width * scale, result.height * scale);
if(result.height == 1136){
storyBoard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone_5" bundle:nil];
UIViewController *initViewController = [storyBoard instantiateInitialViewController];
[self.window setRootViewController:initViewController];
}
}
它似乎有效,但是当应用程序启动时,只有黑屏。我认为故事板存在问题(每个故事板为2个视图控制器,有2个视图)。我将2个视图中的一个视为“初始视图控制器”,但总是没有正确视图的baclk屏幕。
有人有这个问题吗?
答案 0 :(得分:0)
你的代码看起来是正确的。唯一一次我在启动时遇到黑屏是我不小心删除了UIViewController中的视图...不确定这是否有帮助。确保所有参考文献都是正确的。如果您删除,重命名或以其他方式更改了类,方法等的名称,这也可能导致问题。