这是一个简单的问题,我找不到任何东西,但有没有办法命名你的xib文件,以便ios知道根据版本获取一个xib文件。 如果你想为一个类获取一个xib文件,你可以将xib文件命名为与该类相同 例如: ViewController.m ViewController.xib
如果你想指定iphone或ipad你应用了波浪iphone / ipad EX: 视图控制器〜iphone.xib 的ViewController〜ipad.xib
所以重申一下这个问题,ios 5.X和ios 6.X的命名约定是否有差异?
我问这个是因为ios 6.0有一些关于NSLayOutConstraints和我想要使用但不受一个版本支持的标签的很好的功能。我最终禁用了自动布局而没有使用属性标签,因此我可以拥有1个代码库,时间是因素。
当然,我知道我可以做到
if (mainWindow.frame.size.height == 568) {
[[UIViewController alloc] initWithNib@"xibname"];
}
并且我知道我可以创建一个类来获取NSString并根据屏幕大小为xib文件创建正确的字符串,但是如果我能够使用这些方法并使用内置的内容那会更好。< / p>
答案 0 :(得分:1)
+ (NSString *)getNibNameForName:(NSString *)name {
if (IsiPhone4Inch) {
NSString *possibleNibName = [NSString stringWithFormat:@"%@_iPhone4Inch", name];
if ([[NSBundle mainBundle] pathForResource:possibleNibName ofType:@"nib"] != nil) {
return possibleNibName;
}
}
return [NSString stringWithFormat:IS_IPAD ? @"%@_iPad":@"%@", name];
}