我在storyBoard
viewA
上有viewControllerA
,而不是此视图中的某个按钮会转换(模态)到下一个viewB
- 具有viewControllerB
{1}},而不是来自B
我也会使用模态转换转到C
。(我通过将视图中的按钮拖动到故事板中的另一个视图来进行转换)
当我完成C
后,我想回到A
。
所以我可以解雇C
:
[self dismissViewControllerAnimated:YES completion:nil];
将我带回B
,但我需要转到A
B
传递到C
,而不是解除B
内的C
- 没有工作C
拖回A
吗?B
转到C
时,storyboard
中是否有办法解除B
?这样做的正确方法是什么?
答案 0 :(得分:0)
试试这段代码对我有用。也许它也适合你:)
[self.presentingViewController.presentingViewController dismissModalViewControllerAnimated:YES];
注意使用 parentViewController 表示iOS5版本及iOS5以上代码。
[self.parentViewController.parentViewController dismissModalViewControllerAnimated:YES];
答案 1 :(得分:0)
所以这是一个适合你的实例。
在ControllerB中,添加属性
@property (nonatomic) BOOL dismissWhenAppear;
并添加viewDidAppear函数
-(void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
if (self.dismissWhenAppear) {
[self dismissViewControllerAnimated:NO completion:nil];
}
}
在ControllerC中,你有
-(void)buttonClicked:(UIButton *)button {
if (([self.presentingViewController isKindOfClass:[TestViewController1 class]])) {
((TestViewController1 *)self.presentingViewController).dismissWhenAppear = YES;
}
[self dismissViewControllerAnimated:YES completion:^{
[self.presentingViewController dismissViewControllerAnimated:NO completion:nil];
}];
}