iOS - 为 Storyboard检测 iPad/iPhone 设备的逻辑

标签 ios iphone objective-c ipad

我需要在我的 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/

相关文章:

ios - Swift:数组读写器模式和 UICollectionView 更新

iOS 关机通知

ios - Admob WebFilter 日志,这是什么意思?

iphone - 登录页面

ios - 如何检查我的返回值是否被使用或分配给某个变量?

ios - Instagram iPhone Hook url 方案已更改

iphone - 只有在 View 出现后才自动开始计算

iphone - 我们可以使用 UIPickerView 创建自定义单元格吗?

ios - 事件指示器不可见

ios - Facebook 视频分享错误 IOS Objective C