ええ、私はこれが多くの質問の問題であったことを知っていますが、それでもそれを機能させることはできません。
私の関数は、ビュー上のすべてのサブビューを移動します。
これはどのように見えるかです:
- (void)moveTo:(NSInteger)side
{
CABasicAnimation *animation = [CABasicAnimation animation];
animation.duration = 0.8f;
animation.autoreverses = NO;
animation.removedOnCompletion = NO;
animation.fromValue = [NSNumber numberWithFloat:0];
switch (side)
{
case kMovementSideDown: animation.toValue = [NSNumber numberWithFloat:568]; break;
case kMovementSideUp: animation.toValue = [NSNumber numberWithFloat:-568]; break;
}
for (UIView *view in [self.view subviews])
{
[[view layer] addAnimation:animation forKey:@"transform.translation.y"];
}
}
そして、これがすべてのアイテムを4インチの画面の外に移動することを私は知っています、それは私が望むものです。しかし、それがアイテムを外側に移動した後、私がフラグ
を設定したにもかかわらず、それらは内側に「ジャンプ」します。removedOnCompletion = 0
また、デリゲートメソッドをオーバーライドし、完了後に手動で位置を設定しようとしましたが、うまくいきませんでした。
私が間違っていることは何ですか?