0

我正在尝试切换视图。我的第一个视图是故事板,我想切换到 view2,在我的第一个视图中单击按钮时我没有问题,一切都很好。问题是当我试图返回时,屏幕变黑并且不会返回到第一个视图。这是我正在使用的代码。

视图控制器.h

- (IBAction)View2:(id)sender;

视图控制器.m

- (IBAction)View2:(id)sender {
    View2 *second = [[View2 alloc] initWithNibName:nil bundle:nil];
    [self presentModalViewController:second animated:YES];
}

这里是我用来从第二个视图返回到第一个视图的代码。

视图2.h

- (IBAction)back:(id)sender;

View2.m

- (IBAction)back:(id)sender {
    ViewController *second = [[ViewController2 alloc] initWithNibName:nil bundle:nil];
    [self presentModalViewController:second animated:YES];
}

我在做某种错误吗?

谢谢

4

1 回答 1

0

您的问题在 View2.m

- (IBAction)back:(id)sender {
    [self dismissModalViewControllerAnimated:YES];
}

应该做的伎俩

苹果有一个视图控制器编程指南,我建议浏览一下

更新如果您需要跳回多个 ViewController,您应该使用 NSNotificationCenter 或保留对您需要跳回的 viewController 的引用。

根据我的经验,以下行做了 2 件事中的 1 件事(其中 self 是 UIViewController 的子类)

[self dismissModalViewControllerAnimated:YES];

1)如果self已经呈现了另一个视图控制器,上面的行将关闭所有已经呈现在上面的视图控制器self

2)如果self还没有呈现任何其他视图控制器,上面的行将解散self回之前的视图控制器

于 2012-04-26T23:34:12.080 回答