我正在开发一个显示地点列表的应用程序。有一个 NavigationController,在导航栏中我有一些 UIBarButtonItem(左右),中间部分是一个带有标签和两个 UIButton 的自定义视图。
地图按钮执行对在地图上显示点的 MapViewController 的转场。我想要实现的是地图ViewController的导航栏也显示相同的自定义UIView(显示箭头按钮和Day Label),但我不知道如何实现这一点。我试图复制 prepareForSegue 上的视图:
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if ([segue.identifier isEqualToString:@"FlipFromListToMap"]) {
if ([segue.destinationViewController isKindOfClass:[DisplayTourMapViewController class]]){
DisplayTourMapViewController *cityListController = segue.destinationViewController;
cityListController.navigationItem.titleView = self.navigationItem.titleView;
}
}
}
但这不起作用。此外,当从原始表格视图返回时,导航视图消失了:
我想知道我的方法是否错误。我可以在 segues 之间保留 navigationcontroller 视图吗?我可以使用navigationcontroller 和segue 的吗?或者我应该在控制器内部只有两个视图并以编程方式交换它们?这两个视图的模型是相同的,它只是改变了我呈现信息的方式(地图或列表)。
提前致谢。