次のように CGAffineTransformMakeScale を使用してカスタム ボタンをアニメーション化しようとしています。
if (stateButton == 0) { //The button is gonna appear
self.selected = YES;
self.imageView.transform = CGAffineTransformMakeScale(0.01, 0.01);
[UIView animateWithDuration:0.5 delay:0 options:UIViewAnimationOptionCurveEaseOut animations:^{
// animate it to the identity transform (100% scale)
self.imageView.transform = CGAffineTransformIdentity;
} completion:nil];
}
else if (stateButton ==1) { //The button is gonna disappear
self.imageView.transform = CGAffineTransformMakeScale(1, 1);
[UIView animateWithDuration:0.5 delay:0 options:UIViewAnimationOptionCurveEaseOut animations:^{
// decrease button
self.imageView.transform = CGAffineTransformMakeScale(.01, .01);
} completion:^(BOOL finished){
self.selected = NO;
}];
}
ボタンは元のサイズに完全に拡大しますが、理由はわかりませんが、ボタンをクリックして縮小すると、元のサイズよりも 100% 大きいサイズから元のサイズに縮小されます。元のサイズを縮小し、コードで示したように 0.01 のスケールを達成します。
助けてください!!