我的项目是在iOS6.I有三个UIViewController在我的iPhone故事板上。在第一个UIVC我有一个复选框和一个继续按钮。如果复选框被选中,按钮被点击,那么我必须启动第二个UIViewController。如果复选框被取消选中,按钮被点击,启动第三个UIViewController。我怎么做?我已经这样做了:
- (IBAction)btnContinue:(UIButton *)sender
{
if (self.shipToDifferentAddress)//Checkbox CLICKED->YES
{
//Launch ShippingVC
ITMShippingAddressVC *shippingVC = [[ITMShippingAddressVC alloc]init];
[[self navigationController]pushViewController:shippingVC animated:YES];
}
else //Checkbox unchecked ->NO
{
//Launch OrderedItemsVC
ITMOrderedItemsVC *orderedVC = [[ITMOrderedItemsVC alloc]init];
[[self navigationController]pushViewController:orderedVC animated:YES];
}
}
shipToDifferentAddress是一个bool变量,告诉启动这个或那个。我记录了两个viewDidLoads,并得到了它们的输出。第二个和第三个UIViewController上都有一些内容,如按钮,标签等。但他们出现黑色。没有内容。我有后退按钮对他们两个,我可以穿越回第一个UIVC从任何一个。那么我错过了什么?我使用segues的情况下,我必须去一个特定的UIVC。现在我有一个选择要么第二或第三。我应该怎么做?请让我知道,如果你需要更多的信息。谢谢。
2条答案
按热度按时间tjvv9vkg1#
要显示故事板中的ViewController,请执行以下操作:
在序列图像板中设置标识符。单击视图,然后在右侧的属性菜单中设置序列图像板ID x1c 0d1x
比你平时推的要多:
虽然这对你很有用--当使用故事板时,理想情况下你想使用Segues。它需要更少的代码。Here is a good tutorial使用Segues来推送/呈现视图控制器并在它们之间传递数据。
nbysray52#
您已经创建了VC,但它们没有链接到情节提要ITMOrderedItemsVC和ITMShippingAddressVC。因此,您在情节提要中添加的接口不会加载。
您可以为每个VC创建一个单独的xib文件(New〉file...〉User Interface〉View),并将xib文件命名为与viewController相同的名称:
在这些xib文件中设计界面(它们就像单个实体的故事板一样)。
xib将在您
init
相应viewController的示例时自动加载。这将适用于您当前的代码。