0

我确定我需要我的按钮操作 (findMe) 成为 viewDidAppear 的一部分,并且不能将其作为单独的 IBAction,因为它有显示用户位置错误。

A:这甚至可能吗?

B:这样做有意义吗?

C:它会是什么样子?

我知道错误的当前代码如下所示:

-(void)viewDidAppear:(BOOL)animated
{
  if (findMe == YES)
  {
    self.mapView.showsUserLocation = YES;
    [mapView setCenterCoordinate:mapView.userLocation.coordinate animated:YES];
  }
}

谢谢!

4

1 回答 1

1

您的问题措辞非常混乱且不完整(请包括有错误的代码和确切的错误消息),但我会回答我认为您可能会问的三件事。

如果您的问题是您希望在两种方法中使用相同的代码,请将两种方法的公共部分提取到第三种方法中,并让它们都调用它。

- (IBAction) button {
    stuff
    [self commonPart];
}

- (void) viewDidAppear {
    stuff
    [self commonPart];
}

- (void) commonPart {
    stuff they both do
}

如果您的问题是您需要在 viewDidAppear 方法中了解有关 UI 状态的信息,则可以使用 IBOutlet 来引用相关控件。

- (void) viewDidAppear {
    if (self.findMeButton.someThingYouWantToCheck) {
          self.mapView.showsUserLocation = YES;
          [mapView setCenterCoordinate:mapView.userLocation.coordinate animated:YES];
    }
}

如果您的问题是您需要存储按钮是否被按下,以便以后可以基于它执行不同的操作,只需将 BOOL 实例变量添加到您的对象并在按下按钮的 IBAction 中将其设置为 YES。

这些是你想要做的吗?

于 2012-10-30T01:02:08.983 回答