我有一个导航视图控制器,其中许多子VC都有地图。如果我在n个视图中导航,我将始终在内存中分配n-1个映射。 我的想法是每次视图控制器消失时释放一个地图,并在它再次出现时重新分配它。
然而,它们是使用故事板进行布局的,并且它们的框架会根据设备方向而改变,因为我正在使用约束。这样,当VC第一次加载时,它就会出现在故事板上。但是当我解除分配并且必须重新分配时,我不知道如何正确设置框架,或者如何正确添加约束。
这样做的最佳方式是什么?
答案 0 :(得分:0)
您需要阅读以编程方式创建约束的内容。在解除分配之前,可以使用调试器在地图视图上记录约束,然后在重新添加地图时编写代码以重新创建这些约束。
答案 1 :(得分:0)
您必须读取属性,如用户位置和其他属性,并在设置为nil之前保存它,当您返回时,请在viewWillAppear中检查此对象,如
if(!mapView) {
allocate here and set the saved values
}