将两个XIB连接到一个ViewController
我在所有基础知识中都希望拥有iPhones的视图,以及iPads的视图。但是,我想为它们使用相同的视图控制器,因为它们是相同的,只是针对每个设备进行了优化。将两个XIB连接到一个ViewController
我知道这是可能的,因为它是一个通用的应用程序,通用项目的默认视图包括一个iPhones主视图和一个iPad主视图。但是,它们是自动实现的,所以我不知道如何复制它。
因此,这个问题的焦点是:你如何将两个xib连接到一个viewcontroller?
感谢,
- 杰克
在代码..无论你很多新的观点..do这样
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad)
{
self.MainView = [[[YOurViewController alloc] initWithNibName:@"YOurViewController_iPad" bundle:nil]autorelease];
}
else
{
self.MainView = [[[YOurViewController alloc] initWithNibName:@"YOurViewController_iPhone" bundle:nil]autorelease];
}
你将不得不更换笔尖名和与你的类名称..
在上面...一个更重要的一步是去厦门国际银行的每个文件 ..click上文件所有者 ..和在i * dentity检查 *(顶部右侧图标)..确保它的class YOurViewController
我知道你说过“无论你在哪里拍摄新视图”,但我有点困惑。例如,是否会在视图控制器中关联两个视图? – JTApps 2012-03-12 05:53:22
首先,当您加载视图时,您可能需要检查它是什么设备。如果iPhone xib1
另有xib2
。关注如何加载xib本身。它很蠢。如果你想改变一个UIViewController
意见才刚刚使用此代码:
NSArray *nibObjs = [[NSBundle mainBundle] loadNibNamed:@"xib2" owner:self options:nil];
UIView *aView = [nibObjs objectAtIndex:0];
self.view = aView;
从代码:
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad){
videosController = [[SoftLensAdvanceSearch alloc] initWithNibName:@"VideosController_ipad" bundle:nil];
}
else{//iphone
videosController = [[SoftLensAdvanceSearch alloc] initWithNibName:@"VideosController" bundle:nil];
}
从IB
创建2个不同版本的 “厦门国际银行” 的文件并指定“文件名”(xcode 4.3+属性窗口中的第一组),即为iphone添加iphone文件名,为ipad添加ipad文件名。
但丁已经回答了我与此有关的问题。 “在此之上......更重要的一步是进入每个xib文件..点击文件所有者(左栏)..并在我*牙齿检查员*(右上角的图标)..确保它是类YOurViewController“
但我会添加,将所有的按钮设置在一个笔尖。然后放置它们,但不要按照与辅助视图相同的方式将它们连接起来。相反,右键单击左栏中的文件所有者,您会看到一个完整的按钮和插口表,可以连接到新Nib中的对象。
希望这会有所帮助。
你已经做了两个不同的xib文件?/ ..你是什么意思的两个意见..你可以解释 – Shubhank 2012-03-12 05:23:36
没问题。我想将两个视图(xibs)连接到同一个视图控制器 – JTApps 2012-03-12 05:35:13