如果这是一个愚蠢的问题,我深表歉意,但我已经做了一些谷歌搜索并进行了搜索,但没有发现有人问这个确切的问题。
我从事 iOS 开发已经有一段时间了,但我对 Interface Builder 完全陌生。我想知道的是:有没有办法只创建一个 .xib 文件,然后在通用应用程序中将其用于 iPhone 和 iPad?
对我来说,必须单独创建它们似乎很愚蠢;当我可以在代码中完成一次(对屏幕尺寸进行细微调整)时,为什么要在 Interface Builder 中多次进行两倍的工作?
如果我在这里遗漏/误解了某些内容,请告诉我。就像我说的,我是一个完整的 Interface Builder 新手:)
编辑:我过去曾向 App Store 提交过非界面构建器游戏,其中 iPhone 和 iPad 版本是相同的,所以我不关心让游戏在每个设备上看起来/感觉不同。我想让它们看起来完全一样,除了由于长宽比不同而导致的一些轻微的位置变化之外。
如果您知道基于自动调整大小的结果视图是什么样子,那么您确实可以只使用一个.xib
。如果视图只是某种可以根据需要自动调整大小的共享组件,可能会派上用场。但是,如果您需要 iPad 上的视图与 iPhone 上的视图截然不同,只需使用两个.xib
s。然后可以根据需要加载适当的一个,例如在实例初始化程序中,就像这个控制器的 -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;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)