我在viewWillAppear方法中设置了以下代码。
- (void)viewWillAppear:(BOOL)animated
{
//some code of ausregion
mapView.region = AusRegion;
mapView.showsUserLocation = NO;
addressField.text = [NSString stringWithFormat:@""];
[super viewWillAppear:animated];
}
当我的应用程序启动第一个屏幕时,它打开很好。这是我的地图应用程序,我在按钮单击事件上设置了代码以执行某些操作。 [例如。 textfield填充当前地址并使用注释放大到当前位置]。现在当我跳到另一个列表视图控制器并返回到我的第一个屏幕时 - (void)viewWillAppear:(BOOL)动画方法再次调用空白文本字段,没有当前位置等。我想保留屏幕以前的更改[例如。填充当前地址的文本字段和地图使用注释放大到当前位置]。从listview控制器返回到我的第一个屏幕后。
我该如何实现这个目标?
编辑: 我正在通过以下操作调用列表视图控制器
RootViewController *list =
[[RootViewController alloc] initWithNibName:@"RootViewController" bundle:nil];
[self presentModalViewController:list animated:YES];
从RootViewController返回后,我希望Map View带有当前注释,因为我在RootViewController中获取列表视图之前执行了操作,而不仅仅是澳大利亚大陆。
答案 0 :(得分:3)
尝试使用viewDidLoad而不是viewWillAppear。然后该代码将仅在加载视图时(从nib)运行,而不是每次重新出现时都会运行。