1

我正在尝试从另一个视图控制器模态显示一个视图控制器,该视图控制器是 UINavigationController 内的第二个视图。但它不断给出错误和崩溃。应用程序试图以模态方式呈现活动控制器

我不知道这是什么意思。以下是我打电话的方式。

UIStoryboard *storyBoard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil];
    FBPreviewPostViewController *previewPostViewController = [storyBoard instantiateViewControllerWithIdentifier:@"FBPreviewPostViewController"];
    previewPostViewController.delegate = self;
    previewPostViewController.selectedImg = selectedImage;
    [self presentViewController:previewPostViewController animated:YES completion:nil];

谢谢

4

2 回答 2

2

该错误表明视图控制器出现了两次,这是不允许的。

我不太了解 Storyboards 和您的应用程序,也许FBPreviewPostViewController已经由 Storyboards 呈现。您可以通过检查是否viewController.isViewLoaded && viewController.view.window为真来检查它是否在视图层次结构中。

顺便说一句,您正在使用情节提要,为什么不使用 segue?

于 2013-04-25T20:00:39.053 回答
1

你可以试试下面的代码

NSString *stbName = [[NSBundle mainBundle].infoDictionary  objectForKey:@"MainStoryboard_iPhone"];
UIStoryboard *Mainstoryboard = [UIStoryboard storyboardWithName:stbName bundle:nil];
FBPreviewPostViewController *previewPostViewController = [Mainstoryboard instantiateViewControllerWithIdentifier:@"FBPreviewPostViewController"];
previewPostViewController.delegate = self;
previewPostViewController.selectedImg = selectedImage;
[self presentModalViewController:previewPostViewController animated:YES];
于 2013-04-25T19:06:20.337 回答