这是一个简单的问题,我找不到任何东西,但是有没有一种方法可以命名您的 xib 文件,以便 ios 知道根据版本将一个 xib 文件替换为另一个文件。 如果你想为一个类取一个 xib 文件,你将 xib 文件命名为与类相同 前任: View Controller .m View Controller .xib
如果你想指定 iphone 或 ipad 你应用波浪号 iphone/ipad 前任: ViewController~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 文件创建适当的字符串,但是如果我可以放弃这些方法并使用内置的东西,那会更好。
最佳答案
+ (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];
}
关于ios - xibs 3.5inch 和 4inch 的命名约定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16942093/