如何将iphone界面添加到ipad应用程序中,以便在应用程序启动时选择正确的界面?
我有一个ipad应用程序,希望它也能在iphone上运行(在同一个应用程序中),因此当我在iphone/ipad上安装应用程序时,会选择正确的视图如何将iphone界面添加到ipad应用程序中,以便在应用程序启动时选择正确的界面?,iphone,objective-c,ios,ipad,Iphone,Objective C,Ios,Ipad,我有一个ipad应用程序,希望它也能在iphone上运行(在同一个应用程序中),因此当我在iphone/ipad上安装应用程序时,会选择正确的视图 老实说,我不知道从哪里开始,你能告诉我一些我正在处理的事情吗?如果你查看通用应用程序的默认项目,你可以看到它是如何工作的(请参见此处的ApplicationIDFinishLaunchingWithOptions:method: - (BOOL)application:(UIApplication *)application didFinishLau
老实说,我不知道从哪里开始,你能告诉我一些我正在处理的事情吗?如果你查看通用应用程序的默认项目,你可以看到它是如何工作的(请参见此处的ApplicationIDFinishLaunchingWithOptions:method:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Detects if it is an iPhone.
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
// It's an iPhone
self.viewController = [[Test123ViewController alloc] initWithNibName:@"Test123ViewController_iPhone" bundle:nil];
} else {
// It's an iPad
self.viewController = [[Test123ViewController alloc] initWithNibName:@"Test123ViewController_iPad" bundle:nil];
}
self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible];
return YES;
}
这允许您根据设备为应用程序的视图控制器选择正确的nib。Content\u iPhone、Content\u iPad是相同的视图逻辑,但不同的nib 所以你可以像这样把它们装起来
- (void)applicationDidFinishLaunching:(UIApplication *)application
{
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
{
// load the content controller object for Phone-based devices
[[NSBundle mainBundle] loadNibNamed:@"Content_iPhone" owner:self options:nil];
}
else
{
// load the content controller object for Pad-based devices
[[NSBundle mainBundle] loadNibNamed:@"Content_iPad" owner:self options:nil];
}
[self.window addSubview:self.contentController.view];
[window makeKeyAndVisible];
}
感谢您的回复。如果我在loadView中声明了我的界面,该怎么办?我是否应该有一些变量来说明我是否有iphone或ipad,并在loadView中为该视图选择相应的代码?在上面的代码中,您可以看到如何检测它是否是iphone或ipad:[[UIDevice currentDevice]userInterfaceIdiom]==UIUserInterfaceIdiomPhone。如果这是真的,那它就是iPhone,否则它就是iPad。