从容器视图中呈现视图控制器
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 推送新的视图控制器,它将在容器视图中,不会占用全屏。
为方便起见,我附上了故事板的屏幕截图,以便您更好地理解。希望对你有帮助。
我已经构建了一个 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 推送新的视图控制器,它将在容器视图中,不会占用全屏。
为方便起见,我附上了故事板的屏幕截图,以便您更好地理解。希望对你有帮助。