我正在使用故事板和segue从“HomeVC”转到“MapVC”。
HomeVC->segue->MapVC
并且由于导航控制器是嵌入式的,MapVC自动获取返回按钮。
现在,当我再次从HomeVC->MapVC返回时,MapVC正在重新加载。我不想要。有什么方法可以避免以编程的方式进行。

最佳答案

我不使用segue而是使用IBAction并手动推送:
例如
连接一个UIButton(或其他)来触发@IBAction func buttonClicked(sender: UIButton!)
保留对mapVC的引用作为出口:@IBOutlet var mapVC:MyMapViewController!
[注意:您也可以手动初始化VC]
实现推送相同mapVC的操作

@IBAction func buttonClicked(sender: UIButton!) {
    navigationController.pushViewController(mapVC, animated:true)
}

IMHO最简单/实用
另一个想法:保留segue,但将其连接到一个空白的VC。在prepareForSegue中,将mapVC添加为segue的destinationViewController的子级
我觉得这不好
我认为最好的方法是:使mapVC正确地持久化,并根据保存在homeVC中的某个状态重新加载它的视图。。例如,保持可视区域
嗯,这是最好的,也是风险投资的用意

10-08 07:27