2017-06-12 20 views
0

我在这里查看了整个帖子中的这个问题,但无法找到我的错误。unwind segue返回到错误的来电者

我有vc1,当需要seques vcDetail。

我还有一个vc2,当需要的时候,它会变成vcDetail。

vc1和vc2组织在一个选项卡控制器下。 vcDetail不是。

vc1 to vcDetail segue在storyboard中建立并开始行动。

vc2 to vcDetail segue是在storyboard中建立起来的,并且在行动上开了火。

vcDetail解除按钮“有线”退出。使用'selected'方法myUnwindAction。

myUnwindAction在vc1和vc2中均实现。相同。也在.h文件中定义。 (当我点击vcDetail的展开顺序时,vc1和vc2在故事板编辑器中点亮)。

问题:我的vcDetail永远不会退回到vc2。它似乎只能放松到vc1。

场景:

- 呈现在标签vcLogin。

--tab to vc1,segue to vcDetail。放松到vc1。好。

--tab to vc2,segue to vcDetail。放松到vc1 - 错误。需要返回给调用者,vc2。

或者:

- 在标签vcLogin中呈现。

--tab to vc1,不要继续。

--tab to vc2,segue to vcDetail。放松到vc1 - 错误。需要返回给调用者,vc2。

我被卡住了。我如何返回到正确的VC调用者?就好像不管来源如何,展开总是返回到vc1的“myUnwindAction”。就好像vc2不存在一样。但放松的方法在那里,故事板编辑器似乎都知道都参与myUnwindAction(因此提到的突出显示)。

+0

我还没有完整的答案;但它似乎是罪魁祸首是制表符控制器。当我从标签控制器中删除VC时,展开的行为是正确的...我会继续狩猎,因为我喜欢我的UI用标签组织... –

回答

0
You have to create different unwind segue for each Tab's View Controller 
create unwind method in VC2 like 
-(IBAction)unwindFromvcDetailToVC2:(UIStoryboardSegue*)sender; 

create unwind method in VC1 like 
-(IBAction)unwindFromvcDetailToVC1:(UIStoryboardSegue*)sender; 

set Both unwindSegue through Storyboard 

Depend on ur condition/requirement call 
[self performSegueWithIdentifier:@"unwindFromvcDetailToVC2" sender:nil]; 

or 

[self performSegueWithIdentifier:@"unwindFromvcDetailToVC1" sender:nil]; 
相关问题