我正在尝试导航到splitviewcontroller的detailview中的不同视图。我不希望新视图显示在拆分视图中。
我正在使用此代码更改视图。这在纵向方向上可以正常工作,但在横向中仍然会显示拆分视图表视图。任何人都可以帮忙吗?
Next * any = [[Next alloc] initWithNibName:@“Next”bundle:nil];
[self.view addSubview:any.view];
答案 0 :(得分:1)
你有几种选择。
您可以将Next显示为模态视图控制器 您可以使用选项卡控制器在拆分视图和下一个视图之间切换 您可以使用其他容器控制器在拆分视图和下一个视图之间切换。
在不了解您的应用程序的任何其他内容时,我的猜测是您在详细视图中显示Next以响应某些用户交互,因此我猜测将Next作为模态视图控制器呈现是最佳选择。这也是最简单的。
以下是如何将Next作为模态视图控制器:
- (void) showNext
{
Next* any = [[[Next alloc] initWithNibName:nil bundle:nil] autorelease];
any.modalPresentationStyle = UIModalPresentationFullScreen;
any.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
[self presentModalViewController:any animated:YES];
}
你可以使用不同的modalPresentationStyle& modalTransitionStyle值可以获得不同的效果。
要在完成后关闭Next,您需要告诉它的parentViewController将其解除。只需将此代码添加到Next,并在想要关闭Next视图时调用它:
- (IBAction) dismiss
{
[self.parentViewController dismissModalViewControllerAnimated:YES];
}
我通常想从某个地方的关闭按钮调用这种东西,所以我通常把它变成IBAction。
IBAction与void相同,但允许您在Interface Builder中轻松地连接东西。