简而言之,我如何设法从一组XIV文件中包含的一组UIView加载特定的uiview? iboutlets?如何?
在某些情况下,我希望显示第一个视图而不是第二个,有时我希望显示第3个而不是第1个。它们都是类似的UIViews然而只有一个可以显示MODALLY呈现..我知道哪个UIView显示取决于用户与点击按钮的交互..但问题是如何我具体选择某个视图显示然后附加它模态地呈现它。
详细说明这是我到目前为止所做的工作:
您好, 我在TestViewController.xib文件中有三个视图对象,如下所示:
此xib'文件所有者'连接到TestViewController类。
在运行时,我以编程方式实例化TeamViewController类,如下所示:
TestViewController *tVController = [[TestViewController alloc] initWithNibName:@"TestViewController" bundle:nil];
然后我按照这样的方式呈现视图:
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:ls];
[nav setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal];
[nav setModalPresentationStyle:UIModalPresentationFormSheet];
nav.navigationBar.tintColor = [UIColor blackColor];
[nav setNavigationBarHidden:YES];
[rootViewController.navigationController presentModalViewController:nav animated:YES];
nav.view.backgroundColor = [UIColor blackColor];
self.modalNavController = nav;
[nav release];
[tVController release];
这一切都有效,我的视图已加载,但默认情况下它只会自动加载其中一个视图。 我想要做的是能够知道如何在实例化TestViewController时只加载SPECIFIC UIView。我想到实现这一目标的一种方法是为他们创建IBOutlets并管理哪个视图显示如此?所以我在课堂上创建了三个IBOutlets,然后将它们从Xib的文件连接到每个UIView。这连接都很好。
IBOutlet *view1;
IBOutlet *view2;
IBOutlet *view3;
我可以做这样的事情:
[self.view addSubview:view2];
这将正确显示view2,但不是在模态视图中,因为在实例化TestViewController时我会非常喜欢它。
任何人都可以指导我如何实现我的这个目标吗?
由于
答案 0 :(得分:1)
您应该为每个视图指定一个唯一标记,然后使用viewWithTag:
<强> - 编辑 - 强>
为了实现这一点,您可能需要执行NSNib *n = [[NSNib alloc] initWithNibNamed:bundle:]