在我正在处理的应用程序中,我有一个个人资料标签,用户可以看到与其帐户相关的所有信息,其中一个字段是他们参加的大学,旁边的字段是他们可以选择的按钮从他们去的大学的价值观的表格视图。以下是个人资料视图的屏幕截图:
当我点击选择按钮时,它会转到另一个包含大学列表的视图,一旦我选择了一个,它会将我带回配置文件视图,除非我返回到配置文件视图导航栏和buttom菜单丢失:
以下是我在视图控制器之间使用的代码:
ProfileView * vc = [[ProfileView alloc] init];
[self presentViewController:vc animated:YES completion:^{
}];
有谁知道为什么会这样?
答案 0 :(得分:0)
ProfileView
是UIView
还是UIViewController
的子类?在后一种情况下,它应该重命名为ProfileViewController
,因为当前名称表明它是一个自定义视图。否则,正如评论所示,如果要使用以下方法,则需要为该视图创建UIViewController:
展示详情视图控制器:
您正在使用[self presentViewController]
,它只是通过从屏幕底部滑动来呈现视图控制器。完成后,可以使用[vc dismissViewControllerAnimated:completion]
解雇。如果您想要包含导航栏,可以:
对于后一种情况:
[self presentViewController:[[UINavigationController alloc]
initWithRootViewController:vc]];
或者,您可以使用以下命令将下一个视图控制器推送到当前导航控制器的堆栈:
[self.navigationController pushViewController:vc animated:YES];
。 。 。这会使视图控制器从右侧滑过。
最后,对于一些替代方法,如果您希望可以使用以下方式呈现ViewController和/或视图:
[UIView transitionWithView . . . ]
。 。但是根据您在问题中描述的要求,不应该需要这些。