私はこれの底に到達しようとしてきました、そしてそれは私を逃れます。ユーザーがボタンを押したときに表示したいボタンがいくつかあります。しかし、単にそれらを隠すのではなく、アニメーションが必要です。ピンヘッドに縮小する前に、サイズを大きくして、フェードアウトさせています。
私は実際にこれをiOS6で望みどおりに機能させていますが、iOS5.1用のシミュレーターとiPad1で実行すると思いました。どちらもボタンアニメーションをバグのあるものにします。それは成長しますが、その後、画面上の別の次元に爆発するようです。
#pragma mark - animations
-(void)grow:(UIButton *)button {
void (^makeItGrow)(void)= ^{
button.transform = CGAffineTransformScale(button.transform,1.6, 1.6);
};
void (^whenFinished)(BOOL) =
^(BOOL finished) {
if (finished) {
[self shrink:button];
}
};
[UIView animateWithDuration:1 animations:makeItGrow completion:whenFinished];
}
-(void)shrink:(UIButton *)button {
void (^makeItShrink)(void)= ^{
button.transform = CGAffineTransformScale(button.transform, 0.0, 0.0);
button.alpha = 0.0;
};
void (^whenFinished)(BOOL) =
^(BOOL finished) {
if (finished) {
//NSLog(@"shrink finished");
[button setHidden:YES];
[self resetButton:button];
}
};
[UIView animateWithDuration:3 animations:makeItShrink completion:whenFinished];
}
アニメーションをはっきりと見ることができるように、アニメーションの速度を落としました。最初のセクションは正常に機能しますが、2番目のセクション(縮小)は画面に分裂するか(表示する必要があります、ちょっとクールに見えます)、または単に画面から成長し続けます!確かに望ましいものではありません。
そして、はい、私はまだ非常に多くのことを学んでいます、私はおそらく私のコーディングスタイルにいくつかの指針をとることができます:-)