2011-11-02 65 views
1

我在viewWillAppear方法中设置了以下代码。ViewWill在iphone中的查询查询

- (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)动画方法再次被空白文本字段调用,没有当前位置等。我想保留屏幕以前的更改[例如。包含当前地址和地图的文本字段使用注释放大到当前位置]。从列表视图控制器返回到我的第一个屏幕后。

我该怎么做到这一点?

编辑: 我在下面的操作

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

调用列表视图控制器和从RootViewController的回国后我要地图查看当前的注解,因为我得到的RootViewController的,而不只是澳洲大陆列表视图之前执行的操作。

回答

3

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

+2

以前我只在viewDidLoad方法中设置了这段代码。但它没有给出结果,因为我想[澳大利亚大陆地区]推出应用程序后... –

+0

通过在ViewWillAppear代码中设置一些条件解决;)感谢您的回复 –

+0

很高兴它的工作。希望我的回答有帮助! – Keith