我需要在我的 App Delegate 文件中将我的 Storyboard定义为身份验证脚本的一部分 - 用于将相关数据传递到特定 View 。
一切正常 - 但通过以这种方式定义我的 Storyboard,我覆盖了所有设备(iPad 或 iPhone)的路径,我希望我的应用程序是通用的并遵循依赖于设备的不同 Storyboard - 因此理想情况下我会喜欢检测设备并将相关的 Storyboard ID 应用于变量,以便正确的 Storyboard 运行并且身份验证脚本仍然正常运行 - 但我不确定如何执行此操作..
到目前为止,这是我的代码 -
UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"ipad_story" bundle:nil];
UIViewController *controller;
UINavigationController *navigationController;
Storyboard是否可以包含检测设备并应用 ipad_story 或 ipad_phone 的逻辑?
最佳答案
有两个选项,使用iOS device modifier , ~ipad
,所以你将拥有类似 main_story
的 iphone 和 main_story~ipad
的 iPad 故事。
或者如果您需要在代码中检测它,请查看 UIUserInterfaceIdiom
:
if ([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPad) {
// iPad
} else {
// iPhone
}
如果可能,应使用第一个选项,只有在必须在代码中执行时才需要第二个选项。
关于iOS - 为 Storyboard检测 iPad/iPhone 设备的逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21306597/