1

我有一UITabBarController对夫妇MKMapViews。我将如何保持他们的状态彼此持久?我试过设置一个单例模式,但它们仍然是独立的。

4

1 回答 1

2

我看到了两种可能的解决方案来解决您的问题

  1. 您在控制器(可能是单例)中实例化一个(1x MKMapView)。假设AppDelegate你有一个MKMapView例子。

    • 每个选项卡使用一个UIViewController实例(因此:许多 UIViewControllers 但控制器中只有一个 MKMapView。
    • - (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController您在您的标签栏控制器委托处收听。
    • 当用户更改选项卡时,您将单个 (1x)MKMapView放置在出现的 UIViewController 的视图上。
    • 但是在这里您将拥有相同的内容(注释、区域、数据)

       

  2. 您可以同步许多MKMapView

    • 侦听 MKMapView 委托(– mapView:regionWillChangeAnimated:等)并将值同步到您的其他 MKMapView。您需要通过通知 ( NSNotification) 或控制器来执行此操作。
    • 这将为您提供更大的灵活性,您希望同步哪些值以及哪些值必须不同于MKMapViewto MKMapView
于 2012-04-17T19:55:56.207 回答