从容器视图中呈现视图控制器

Present a view controller from a container view

我已经构建了一个 UIViewController 带有容器的视图,该视图嵌入了另一个 UIViewController(我将其称为 subViewController)。 我希望 subViewController 在其容器视图 canvas(不适用于所有屏幕)中呈现它自己的另一个实例。

我尝试使用 prepareForSegue 方法 用这个方法

-(void)showFurtherReadingDetails
{
    [self performSegueWithIdentifier:@"ShowArticleDetails" sender:self];
}

注意showFurtherReadingDetails方法是subVC over的委托方法,在supperVC中初始化。 但我遇到了这个问题:

'NSInternalInconsistencyException', reason: 'There are unexpected subviews in the container view. Perhaps the embed segue has already fired once or a subview was added programmatically?'.

请看附件

如果您的 UIViewController 没有嵌入 UINavigationController 那么您将无法执行 Push。

您需要做的是,将导航控制器嵌入您的 subVC,然后从 subVC 推送新的视图控制器,它将在容器视图中,不会占用全屏。

为方便起见,我附上了故事板的屏幕截图,以便您更好地理解。希望对你有帮助。