gpt4 book ai didi

iphone - 根据设备类型选择不同的 Storyboard

转载 作者:行者123 更新时间:2023-11-29 05:55:00 25 4
gpt4 key购买 nike

我有一个通用应用程序,我在 application:didFinishLaunchingWithOptions 中手动加载主 Storyboard。

我有 2 个适用于 iPhone 和 iPad 的 Storyboard,它们具有 ~iPhone~iPad 后缀。我正在使用以下方式加载 Storyboard:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
self.initialViewController = [storyboard instantiateInitialViewController];

这会将Unknown class ViewController in Interface Builder file.打印到控制台,因此显然它没有加载正确的 Storyboard。但是,当我使用 [UIStoryboardstoryboardWithName:@"MainStoryboard~iPhone"bundle:nil]; 时,它工作正常,但当然只适用于 iPhone。

我错过了什么?如何使用名称后缀自动选择正确的 Storyboard?

最佳答案

我不知道有任何根据文件名后缀自动选择 Storyboard的功能。您可以使用 userInterfaceIdiom 来选择 iPad 与 iPhone:

if ([[UIDevice currentDevice] userInterfaceIdiom] ==UIUserInterfaceIdiomPad) {
UIStoryboard *storyboard =
[UIStoryboard storyboardWithName:@"MainStoryboard_iPad" bundle:nil];
} else {
[UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil];
}

但是,如果您这样做是为了启动特定的 View Controller ,那么您所需要做的就是将“开始”箭头拖动到 Storyboard 中的首选 View Controller

或者 - 在 Storyboard中选择 View Controller ,转到属性 instpector 并勾选 isInitialViewController

关于iphone - 根据设备类型选择不同的 Storyboard,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55252533/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com