0

假设我有 3 个视图控制器。我在 vc0 中启动 vc1,然后在 vc1 中启动 vc2。现在我希望 vc2 被解雇,之后只有 vc0 应该显示在它后面。这怎么可能?我读了一些关于委托声明的东西。却无法理解。

我有 UISegmentcontrol,我在其中显示来自情节提要的控制器,例如 - vc0 = [self.storyboard instantiateViewControllerWithIdentifier=@"vc0"]; 并使其成为它的子视图 [self.view addSubview:vc0.view]; vc0是一个tableView,里面有一个detailcontroller要呈现。当我点击一个单元格时,它会显示 detailview,但是当 detailview 被关闭时,实际的 segmentcontrol.view 会丢失。

一个例子会很棒。

PS:我没有为 viewControllers 使用 segue。相反,我使用的是presentModalViewController 和dismissModalViewController。

4

1 回答 1

0

在 iOS 5 中你需要做

[self.presentingViewController.presentingViewController dismissModalViewControllerAnimated:YES]

从 iOS 6 开始,dismissModalViewControllerAnimated: 已弃用。

你需要打电话

[self.presentingViewController.presentingViewController dismissViewControllerAnimated:YES completion:^{ // Do something on completion}] 
//If you want to perform something while going through views or other wise keep completion to nil as shown in below code.

或者

[self.presentingViewController.presentingViewController dismissViewControllerAnimated:YES completion:nil];

或者

[self.parentViewController.parentViewController dismissModalViewControllerAnimated:YES];
于 2013-07-15T12:40:30.850 回答