0

ボタン アクション (findMe) を viewDidAppear の一部にする必要があると判断しましたが、showUserLocation エラーがあるため、個別の 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

あなたの質問は非常に紛らわしい言い回しで不完全です (エラーのあるコードと正確なエラー メッセージを含めてください)。

両方のメソッドに同じコードを入れたいという問題がある場合は、2 つのメソッドの共通部分を 3 番目のメソッドに抽出し、両方にそれを呼び出させます。

- (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 に答える