1

このアニメーションをシミュレートするために、可変配列から一連のUIViewをアニメーション化してみました

for(int k = 0; k< [imageViewCarrier count] ; k++){
    UIView *transformingView = [imageViewCarrier objectAtIndex:k];
    [UIView animateWithDuration:30.0 animations:^{
        [UIView beginAnimations:nil context:NULL];
        [UIView setAnimationDuration:30.0];
        [UIView setAnimationDelegate:self];
        [UIView transitionFromView:transformingView toView:splicedImageView duration:3 options:UIViewAnimationOptionTransitionFlipFromLeft completion:NULL];
        [UIView commitAnimations];

    }completion:^(BOOL finished){
        NSLog(@"Transition done");
    }];

}

アニメーションが速すぎるようです。これに関する提案。いくつかのドキュメントを検索しましたが、理解できませんでした。いくつかの助けをいただければ幸いです!

4

1 に答える 1

0

うーん、あなたはそれを間違った方法でやっているかもしれないと思います。を使用するときにメモリが役立つ場合は、またはまたはそのことについては、ブロックベースのメソッドが導入される前に使用しなければならなかったビューをアニメーション化する古い方法であるため、を[UIView animinateWithDuration:animiations:completion:]呼び出すべきではありません。[UIView beginAnimations:nil context:NULL];[UIView commitAnimations];setAnimationDelegate:setAnimationDuration:

それらを省いて、何が起こるか見てみます。また、durationパラメータは秒単位であるため30.0、少し長すぎるように思われることに注意してください。

そして、スタイルノートです。コレクションを反復処理するための「適切な」Objective-Cの方法は次のとおりです。

for(UIView* view in imageViewCarrier){
   [view doSomething];
}
于 2012-09-06T08:27:23.370 に答える