Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/101.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ipad/iphone应用程序的最佳方法_Iphone_Ios_Ipad_Storyboard - Fatal编程技术网

ipad/iphone应用程序的最佳方法

ipad/iphone应用程序的最佳方法,iphone,ios,ipad,storyboard,Iphone,Ios,Ipad,Storyboard,我将为iPhone(4,4S,5)和iPad(2,3,Mini)创建一个应用程序 你认为什么是最好的方法? 1) 有两个故事板,一个用于iPhone,一个用于iPad? 2) 单个情节提要,每个设备具有重复视图(iPhone和iPad各有一个视图) 3) 具有单一视图但可根据设备自适应的单一情节提要? 如果我使用两个故事板,如何选择在启动时启动哪一个 谢谢大家! 我认为最简单的方法是使用两个不同的故事板,一个用于iPad,一个用于iPhone。在AppDelegateViewDidLoadWit

我将为iPhone(4,4S,5)和iPad(2,3,Mini)创建一个应用程序 你认为什么是最好的方法?
1) 有两个故事板,一个用于iPhone,一个用于iPad?
2) 单个情节提要,每个设备具有重复视图(iPhone和iPad各有一个视图)
3) 具有单一视图但可根据设备自适应的单一情节提要?

如果我使用两个故事板,如何选择在启动时启动哪一个


谢谢大家!

我认为最简单的方法是使用两个不同的故事板,一个用于iPad,一个用于iPhone。在AppDelegate
ViewDidLoadWithOptions方法中设置默认启动屏幕。在那里检查一下你用的是什么设备

NSString *iphone = [[[UIDevice currentDevice] model] isEqualToString:@"iPhone"];

if ([iphone isEqualTo:@"iPhone"])
{
//load correct soryboard
}
else
{
//load other storyboard
}

你也可以让你的应用程序成为一个通用的应用程序。遵循这一点或可能让你达到你想去的地方,但这取决于你想做什么类型的应用程序


如果这对您不起作用,您可以使用@heinst提供的答案并使用2个故事板。

只需使用屏幕高度检测概念,如下所示:

CGSize screenSize = [[UIScreen mainScreen] bounds].size;

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {
    if (screenSize.height > 480.0f) {
        /*Do iPhone 5 stuff here.*/
    } else {
        /*Do iPhone Classic stuff here.*/
    }
} else {
    /*Do iPad stuff here.*/
}

最好的方法是根本不使用故事板