直接在不同的细节视图控制器之间进行切换

时间:2013-07-23 02:28:25

标签: iphone uiviewcontroller storyboard detail

我有一个iPhone主 - 详细故事板应用程序,它使用两个不同的详细视图控制器(创建VC和编辑VC)。从主视图中,如果我按下“+”新按钮,我将以编程方式将segue设置为创建VC,而如果我选择tableViewCell,则程序将转到编辑VC。所有这些只是很好的工作。现在我希望能够直接从创建VC转换到编辑VC。问题是我最终遇到了异常'推送segues只能在源控制器由UINavigationController实例管理时使用。'

我的故事板看起来像这样。 Storyboard

我还尝试在导航VC中嵌入我的详细VC而没有成功。

另外,请记住,我正试图从堆栈中走出来 主 - > createDetail 直接到 主 - > editDetail 不 主 - > createDetail-> editDetail
。 我真的只想弹出createDetail并用editDetail替换它。

2 个答案:

答案 0 :(得分:0)

在detailview中使用UIContainerView

答案 1 :(得分:0)

Suppose there are 2 parameters to send on next view as CustomerName and Email then code will be : 

-(IBAction)btnNextViewClicked:(id)sender 
{ 
UIStoryboard * myStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil];

NextViewController * nextView = [myStoryboard instantiateViewControllerWithIdentifier:@"nextViewCNTR"];
nextView.validEmail = @"abc@gmail.com";
nextView.customerName = @"ABC";

[self.navigationController nextView animated:YES]; 
}

如果你没有参数,那么:

-(IBAction)btnNextViewClicked:(id)sender 
{ 
UIStoryboard * myStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil];

NextViewController * nextView = [myStoryboard instantiateViewControllerWithIdentifier:@"nextViewCNTR"];

[self.navigationController nextView animated:YES]; 
}

nextViewCNTR是在XCode中进行设计时放置在流水线上的标识符的名称。

使用并告诉我反馈。