我需要为 iPhone 和 iPad 设置单独的主界面,但 Xcode 只允许我为项目设置一个通用界面
Posted
技术标签:
【中文标题】我需要为 iPhone 和 iPad 设置单独的主界面,但 Xcode 只允许我为项目设置一个通用界面【英文标题】:I need to set a separate Main Interface for iPhone and iPad, but Xcode only lets me set one interface for the project when it is universal 【发布时间】:2015-11-25 20:54:55 【问题描述】:我无法为 iPad 设置特定的主界面,即使我的应用程序是通用的。 Xcode 曾经在 iPhone 和 iPad 上为部署信息提供单独的选项卡,但现在它们是相同的。但是我的游戏在 iPhone 和 iPad 上完全不同,我需要为每个界面设置单独的故事板。
如果您知道解决方案,请提供帮助。
【问题讨论】:
【参考方案1】:您可以将Deployment Info
-> Main Interface
中的值设置为空字符串并在您的AppDelegate
中实现自定义逻辑:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
// Override point for customization after application launch.
UIStoryboard *initialStoryboard;
if ([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPhone)
initialStoryboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
else
initialStoryboard = [UIStoryboard storyboardWithName:@"Main_iPad" bundle:nil];
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
self.window.rootViewController = [initialStoryboard instantiateInitialViewController];
[self.window makeKeyAndVisible];
return YES;
【讨论】:
【参考方案2】:您需要为此使用尺寸等级。要选择正确的尺寸等级,请打开故事板文件,然后单击屏幕底部的此图标。
单击 wAny hAny 将允许您更改尺寸等级类型并为不同的设备类型设置特定的约束。你可以阅读更多关于尺寸等级的信息here
【讨论】:
但我不想使用尺寸等级。 抱歉,回复晚了。你有什么理由不想使用尺寸等级吗? 这只是一个主观的东西,我觉得非自动布局工具不那么麻烦。特别是如果我想在 iPad 上做一个与 iPhone 完全不同的界面。如果您对非自动布局工具的外观感到好奇,请看截图:i.imgur.com/r6f7GMB.png以上是关于我需要为 iPhone 和 iPad 设置单独的主界面,但 Xcode 只允许我为项目设置一个通用界面的主要内容,如果未能解决你的问题,请参考以下文章
我们是不是需要为所有 iPhone/iPad 设备提供单独的故事板?
如何在不为 iphone 和 ipad 创建单独的 xib 的情况下为所有 ipad 和 iphone 创建通用 xib?不是故事板
我可以为 iPhone 和 iPad(纵向和横向)使用单独的故事板吗?