【问题标题】:ViewWillAppear query in iphoneiphone中的ViewWillAppear查询
【发布时间】:2011-12-20 03:03:03
【问题描述】:

我在 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 而不是澳大利亚大陆的列表视图之前执行了操作。

【问题讨论】:

    标签: iphone viewwillappear


    【解决方案1】:

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

    【讨论】:

    • 以前我只在 viewDidLoad 方法中设置了这段代码。但是在启动应用程序后它没有给出我想要的结果[澳大利亚大陆地区]......
    • 通过在 ViewWillAppear 代码中设置一些条件解决;)感谢回复
    猜你喜欢
    • 2010-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-25
    • 2010-11-03
    • 2012-11-30
    相关资源
    最近更新 更多