• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Objective-Cのメソッド効率化)

Objective-Cメソッド効率化のためのボタン移動関数化

このQ&Aのポイント
  • Objective-CでのUIButtonボタンの移動を効率化する方法について考えています。
  • 現在のコードでは10個のボタンについての移動を個別に記述しているため、関数化を検討しています。
  • 移動に関するアニメーションを含む関数を作成することで、冗長なコードを短縮できます。

質問者が選んだベストアンサー

  • ベストアンサー
  • harawo
  • ベストアンサー率58% (3742/6450)
回答No.2

> 「UIViewAnimationOptionAutoreverse || UIViewAnimationOptionCurveEaseOut」 あ~、間違った。条件式にしてしまいました。正しくは…… 「UIViewAnimationOptionAutoreverse | UIViewAnimationOptionCurveEaseOut」

narative_h
質問者

お礼

動きも確認して頂き、 ありがとうございます。 コードをすっきりとまとめることができました。

その他の回答 (1)

  • harawo
  • ベストアンサー率58% (3742/6450)
回答No.1

じっさい書いて、期待どおりに動いたコードを貼付けておきます。 - (void)moveButton: (UIButton *)button { CGPoint loc = button.center; CGPoint loc2 = CGPointMake(loc.x, loc.y - 32.0); [UIView animateWithDuration: 0.5 delay: 0.0 options: UIViewAnimationOptionAutoreverse animations: ^{button.center = loc2;} completion: ^(BOOL finished){button.center = loc;}]; } - (IBAction)move1:(id)sender { UIButton *btn = (UIButton *)sender; [self moveButton: btn]; } - (IBAction)move2:(id)sender { UIButton *btn = (UIButton *)sender; [self moveButton: btn]; } - (IBAction)move3:(id)sender { UIButton *btn = (UIButton *)sender; [self moveButton: btn]; } アニメーションのオプションに「UIViewAnimationOptionAutoreverse」を指定しておくと、ボタンの位置は元に戻ります。アニメーションを入れ子にする必要はありません。 ※アニメーションのオプションを、複数指定するときは、「UIViewAnimationOptionAutoreverse || UIViewAnimationOptionCurveEaseOut」というようにビット演算子で、論理和にします。

関連するQ&A