我有一个表视图和一个地图视图,它们需要显示相同的细节控制器。细节控制器当前嵌入在带有表视图的导航控制器中(我相信它仍然使用来自主-细节模板的自动生成的段)。
我计划让我的地图注释分段到适当的细节控制器,但只是为了测试,我在MKMapView上放了一个UIButton,并通过故事板对detailViewController进行了模式分段。
当我运行应用程序时,地图视图上的按钮什么也不做,也不会抛出/记录任何错误。我知道你不需要在导航控制器中以模态方式呈现视图控制器,那么我不允许以模态方式呈现属于导航控制器的视图控制器吗?
我是否需要将细节控制器从storyboard导航控制器中取出,并手动将其推送到导航栈?
发布于 2013-09-06 18:31:37
可以使用编码的序列替换脚本序列:
在每个源控制器中创建一个属性destinationVC并对其进行初始化:
@property (nonatomic, strong) UIViewController* dest;
self.dest = [self.storyboard instantiateViewControllerWithIdentifier:@"destinationID"];
别忘了在故事板中为destinationID设置标识符。
要分割模式,请执行以下操作:
[self presentModalViewController:self.dest animated:YES];
推送:
[self.navigationController pushViewController:self.dest animated:YES];
当你向后分割时,你应该在目标VC上小心。
if ([self.parentViewController.modalViewController isEqual:self]) {
//Modal
[self dismissModalViewControllerAnimated:YES];
} else {
//Push
[self.navigationController popViewControllerAnimated:YES];
}
https://stackoverflow.com/questions/18647110
复制相似问题