1

我在 viewWillAppear 方法中设置了以下代码。

- (void)viewWillAppear:(BOOL)animated 
 {  
     //some code of ausregion
     mapView.region = AusRegion;
     mapView.showsUserLocation = NO;
     addressField.text = [NSString stringWithFormat:@""];
     [super viewWillAppear:animated];
 }

当我的应用程序启动第一个屏幕时,它打开得很好。这是我的地图应用程序,我在按钮单击事件上设置了代码以执行某些操作。[例如。文本字段填充当前地址,地图放大到当前位置并带有注释]。现在,当我跳到另一个列表视图控制器并回到我的第一个屏幕时, - (void)viewWillAppear:(BOOL)animated 方法再次被空白文本字段调用,没有当前位置等。我想保留屏幕之前的更改 [例如。用当前地址填充的文本字段和地图放大到当前位置并带有注释]。从 listview 控制器返回到我的第一个屏幕后。

我应该如何实现这一目标?

已编辑:我在以下操作中调用列表视图控制器

     RootViewController *list =
[[RootViewController alloc] initWithNibName:@"RootViewController" bundle:nil];
    [self presentModalViewController:list animated:YES];

从 RootViewController 返回后,我想要使用当前注释的地图视图,因为我在 RootViewController 而不是澳大利亚大陆中获取列表视图之前执行了操作。

4

1 回答 1

3

尝试使用 viewDidLoad 而不是 viewWillAppear。然后该代码将仅在(从笔尖)加载视图时运行,而不是每次它都会重新出现。

于 2011-11-02T08:43:24.833 回答