Ios xibs 3.5英寸和4英寸的命名约定

Ios xibs 3.5英寸和4英寸的命名约定,ios,naming,convention,Ios,Naming,Convention,这是一个简单的问题,我找不到任何东西,但是,是否有一种方法来命名您的xib文件,以便ios知道根据版本的不同,将一个xib文件置于另一个xib文件之上。 如果要为类获取xib文件,请将xib文件命名为与类相同的名称 前任: ViewController.m ViewController.xib 如果要指定iphone或ipad,请应用平铺iphone/ipad 前任: ViewController~iphone.xib ViewController~ipad.xib 那么重申一下这个问题,ios

这是一个简单的问题,我找不到任何东西,但是,是否有一种方法来命名您的xib文件,以便ios知道根据版本的不同,将一个xib文件置于另一个xib文件之上。 如果要为类获取xib文件,请将xib文件命名为与类相同的名称 前任: ViewController.m ViewController.xib

如果要指定iphone或ipad,请应用平铺iphone/ipad 前任: ViewController~iphone.xib ViewController~ipad.xib

那么重申一下这个问题,ios 5.X和ios 6.X是否存在命名约定的差异

我这样问是因为ios 6.0在NSLayOutConstraints和属性标签方面有一些很好的特性,我想利用这些特性,但一个版本不支持这些特性。我最终禁用了自动布局,没有使用属性标签,只是为了有一个代码库和一个时间因素

当然我知道我能做到

if (mainWindow.frame.size.height == 568) {
   [[UIViewController alloc] initWithNib@"xibname"];
}

我知道我可以创建一个类来获取NSString,并根据屏幕大小为xib文件创建适当的字符串,但是如果我可以先使用这些方法,然后使用内置的东西,那就更好了。

你应该让你的笔尖随着屏幕的大小而增长,而不需要为不同的笔尖创建相应的字符串。您可以使用
ui查看
,这样就不需要仅限iOS6的自动布局。ios 6.0中支持的NSAttributed字符串,而不是ios 5.X err,也就是说,它不容易实现。。。。因为我的总体问题是我需要文本不要加粗,而第三方框架会使未覆盖的文本褪色,所以我使用了一些复杂的代码来测量文本的大小,并根据该大小调整区域大小。。。但是我得到了一些不想要的东西。。。。。在ios 6.0中,所有这些都是自动修复的。您只需让NIB随着屏幕的大小而增长,而不需要为不同的NIB进行调整。您可以使用
ui查看
,这样就不需要仅限iOS6的自动布局。ios 6.0中支持的NSAttributed字符串,而不是ios 5.X err,也就是说,它不容易实现。。。。因为我的总体问题是我需要文本不要加粗,而第三方框架会使未覆盖的文本褪色,所以我使用了一些复杂的代码来测量文本的大小,并根据该大小调整区域大小。。。但是我得到了一些不想要的东西。。。。。简单地说,所有这些在ios 6.0中都是自动修复的,因为ios不会自动pic正确的nib文件…您可以使用任何扩展名,并可以使用上面显示的类似方法加载nib,因为ios不会自动pic正确的nib文件…您可以使用任何扩展名,并可以使用上面显示的类似方法加载nib
+ (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];
}