xibs 3.5inch和4inch的命名约定

时间:2013-06-05 14:05:51

标签: ios naming convention

这是一个简单的问题,我找不到任何东西,但有没有办法命名你的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>

1 个答案:

答案 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];
}