gpt4 book ai didi

ios - 找到ViewController中初始化了哪个StoryBoard? Xcode

转载 作者:行者123 更新时间:2023-11-28 21:46:32 25 4
gpt4 key购买 nike

所以我正在使用 Xcode 制作一个应用程序...而不是使用尺寸类或自动布局来考虑各种 iOS 屏幕尺寸,我在 AppDelegate.m 中进行了屏幕高度测试> 并根据返回的屏幕高度加载特定的 Storyboard;这样,所有 storyboards 都可以使用相同的 ViewController

我的应用成功地做到了这一点,并根据设备高度加载了四个 Storyboards 之一,然后所有这些都由唯一的 ViewController 控制。

我的问题是,是否有一个函数可以返回哪个 Storyboard 已被初始化/正在使用?原因是我想根据正在使用的 Storyboard 加载不同的变量公差。

我搜索了一圈,似乎找不到,我只找到了一个甚至描述了这种方法的资源 (youtube)。

感谢您的宝贵时间。

最佳答案

My question is, is there a function that can return which Storyboard has been initialised/is in use?

每个 View Controller 都有一个 storyboard 属性,指向从中加载它的 Storyboard。不过,这可能对您没有帮助—— Storyboard没有您可以检索的标识符,因此仅仅拥有一个指向 Storyboard的指针并不能让您区分 Storyboard。

The reason being is I want to load different variable tolerances based on which Storyboard is in use.

处理此问题的一种方法是将您需要的信息存储在 View Controller 的“用户定义的运行时属性”中。您可以只存储一个标识符,也可以直接存储“可变公差”。假设您只想存储一个标识符。向您的 View Controller 添加一个属性:

@interface MyViewController : UIViewController
//...
@property(nonatomic) NSString *storyboardID;
//...
@end

接下来,在每个 Storyboard的 View Controller 的用户定义属性中设置键 storyboardID 的值。在每个 Storyboard中选择您的 View Controller 并选择身份检查器:

identity inspector

完成!现在您可以读取代码中的值:

if ([self.storyboardID isEqualToString:@"iPhone4Storyboard"]) {
//...
}

关于ios - 找到ViewController中初始化了哪个StoryBoard? Xcode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29964318/

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