iOS应用程序尝试以模态方式呈现活动控制器

时间:2013-04-25 17:54:51

标签: ios uinavigationcontroller presentmodalviewcontroller

我试图从另一个视图控制器模式化地呈现视图控制器,这是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];

由于

2 个答案:

答案 0 :(得分:2)

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

我对故事板和你的应用程序了解不多,或者FBPreviewPostViewController已经由故事板呈现。您可以通过选中viewController.isViewLoaded && viewController.view.window是否为真来检查它是否在视图层次结构中。

顺便说一句,你在使用故事板,为什么不使用segue?

答案 1 :(得分: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];