gpt4 book ai didi

objective-c - 在 Interface Builder 中为通用应用程序创建单个 .xib? (iOS)

转载 作者:可可西里 更新时间:2023-11-01 03:27:51 24 4
gpt4 key购买 nike

如果这是一个愚蠢的问题,我深表歉意,但我已经进行了一些谷歌搜索并进行了搜索,但没有发现有人问这个确切的问题。

我从事 iOS 开发已有一段时间了,但我对 Interface Builder 完全陌生。我想知道的是:有没有办法只创建一个 .xib 文件,然后在通用应用程序中将它用于 iPhone 和 iPad?

对我来说,必须单独创建它们似乎很愚蠢;当我可以在代码中完成一次(对屏幕尺寸进行微调)时,为什么要在 Interface Builder 中不止一次地做两倍的工作?

如果我在这里遗漏/误解了什么,请告诉我。就像我说的,我是一个完整的 Interface Builder 新手 :)

编辑:我过去曾向 App Store 提交过非界面构建游戏,其中 iPhone 和 iPad 版本相同,因此我不关心让游戏在每台设备上的外观/感觉有所不同。我想让它们看起来完全一样,只是由于纵横比的不同而导致一些轻微的位置变化。

最佳答案

如果您知道基于自动调整大小的结果 View 的外观,您确实可以只使用一个 .xib。如果 View 只是某种可以根据需要自动调整大小的共享组件,可能会派上用场。但是,如果您需要 View 在 iPad 上看起来与在 iPhone 上看起来大不相同,只需使用两个 .xib。然后可以根据需要加载适当的,例如在实例初始化程序中,就像这个 Controller 的 -init:

- (id)init
{
if ([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPad)
{
self = [super initWithNibName:@"YourNibForPad" bundle:nil];
}
else
{
self = [super initWithNibName:@"YourNibForPhone" bundle:nil];
}
if (self) { /* initialize other ivars */ }
return self;
}

关于objective-c - 在 Interface Builder 中为通用应用程序创建单个 .xib? (iOS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10029332/

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