少し問題があり、同様の質問をいくつか検索しましたが、うまくいきませんでした。私が作成したユーティリティ クラスのプロジェクト全体で使用する単純なボタン アニメーションがあります。問題は、アニメーションが完了する前にボタンのコードが実行されることです。
ユーティリティ class.m のアニメーションのコード:
+(void)buttonBobble:(UIButton *)button{
button.transform = CGAffineTransformMakeScale(0.8, 0.8);
[UIView beginAnimations:@"button" context:nil];
[UIView setAnimationDuration:.5];
button.transform = CGAffineTransformMakeScale(1, 1);
[UIView commitAnimations];
}
ボタンでコードが起動する前にアニメーションが確実に実行されるように私が試みたこと:
[UIView animateWithDuration:0.0f delay:0.0f options: UIViewAnimationOptionTransitionNone animations:^{
[Utilities buttonBobble:sender];
}completion:^(BOOL finished){
//Do stuff
}];
それが機能したとしても、次のようなことができる場所に抽象化したいと思います。
if([Utilities buttonBobble:sender]){
//Make it send a BOOL so when it's done I execute stuff like normal
}
どんなアイデアでも大歓迎です。