始终带有两个NIB的newViewController(iPhone和iPad)
为universal apps XIB定制xcode,这样当我创建一个新的ViewController(如VideoVC)时,它必须为该类创建两个nib文件始终带有两个NIB的newViewController(iPhone和iPad),iphone,ios,objective-c,xcode,ipad,Iphone,Ios,Objective C,Xcode,Ipad,为universal apps XIB定制xcode,这样当我创建一个新的ViewController(如VideoVC)时,它必须为该类创建两个nib文件 VideoVC_iPhone VideoVC_iPad 谁能帮我一下吗。没有准则。只是台阶。谢谢当您创建新的Xcode项目时,选择单视图应用程序,在“选项”页面上的“设备”下拉列表中,选择“通用”。这将创建iPhone和iPad的笔尖 从头到尾: 文件->新项目 选择单视图应用程序->下一步 设备->通用您可以创建自定义视图控制器模板来
- VideoVC_iPhone
- VideoVC_iPad
谁能帮我一下吗。没有准则。只是台阶。谢谢当您创建新的Xcode项目时,选择单视图应用程序,在“选项”页面上的“设备”下拉列表中,选择“通用”。这将创建iPhone和iPad的笔尖 从头到尾: 文件->新项目 选择单视图应用程序->下一步
设备->通用您可以创建自定义视图控制器模板来执行此操作。创建一个新的文件模板比创建一个新的项目模板更容易,所以完全可以这样做
我不久前做了一个演讲——可能有用 创建具有以下命名约定的viewcontroller,可以将iphone/ipad xib创建为
“viewcontrollername~iphone.xib”
或@“viewcontrollername~ipad.xib”
下面的链接说明相同,提供了在viewcontroller.h和viewcontroller.m中区分ipad和iphone的方法
您将在“/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode”中看到templates文件夹 在这里,您将看到文件和项目模板,如果需要,可以编辑或创建新模板 针对您的问题,导航到此文件夹“/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/File Templates” 在这里,您可以通过在view controller with nib的模板中添加一个用于iPad的空白nib来实现您想要做的事情。我上传了一个我做的样本,它仍然是一个正在进行的工作,但它将创建2个笔尖,因为你需要
[my custom template]
http://www.saplogix.net/Xcode_Custom_Template/TwoNibTemplate.zip
extract and copy that inside this folder "~/Library/Developer/Xcode/Templates/File Templates"
Note: create the directory if it's not already there.
Todo:添加代码以加载基于设备的特定nib,只需添加代码即可。此外,它将仅作为超级类适用于UIViewController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone)
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
}
else
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad)
{
NSString *_nibBundleOrNil = (NSString *)(nibBundleOrNil != nil ? [nibNameOrNil stringByAppendingString:@"_iPad"] : [NSStringFromClass([self class]) stringByAppendingString:@"_iPad"]);
self = [super initWithNibName:_nibBundleOrNil bundle:nibBundleOrNil];
}
if (self)
{
// Custom initialization
}
return self;
}
我的模板将生成以下条目,您可以使用它创建具有2个NIB的控制器。
它只是第一次创建。如何创建第二次或更多你能给我发送幻灯片链接吗?我已经在答案中添加了链接。我正在为此创建一个开源谷歌项目,并将上传我已经完成的工作以及我将要完成的工作,如果你有任何其他模板,请务必让我知道。不要将文件添加到Xcode文件夹-升级Xcode时,您将丢失更改。自定义模板的正确位置是
~/Library/Developer/Xcode/templates/
。如果它不存在,您需要创建它。@Abizern感谢您指出这一点,我已经更新了答案中的路径。@SAPLogix此选项在Xcode 4.6或更高版本中不可用。怎么做?但这并不是为了创建模板,一个用于iphone,另一个用于ipad