2011-12-05 14 views
0

こんにちは私はループしていますが、iPhoneのCPU処理の90%を使用しており、電話を加熱しています。どうしたの?90%CPUを使用したUIViewアニメーション

誰かが私に助言を与えることができますか?

おかげ

-(void)nextAnimation:(float)previousWidth { 

//picture loop 
imageViewTop.image = imageViewBottom.image; 
imageViewBottom.image = [imageArray objectAtIndex:[imageArray count] - 1]; 

[imageArray insertObject:imageViewBottom.image atIndex:0]; 
[imageArray removeLastObject]; 
imageViewTop.alpha = 1.0; 
imageViewBottom.alpha = 0.0; 

[UIView animateWithDuration:4.0 
       animations:^{ 
        imageViewTop.alpha = 0.0; 
        imageViewBottom.alpha = 1.0; 
        } 
       completion:^(BOOL completed){ 
        [self nextAnimation:stringsize.width]; 
       } 
]; 

答えて

1

あなたはあなたのコードで無限ループを得ました。無限ループを回避するには、終了条件が必要です。静的カウンタはゼロであり、カウンタ> nを終了すると、1を加算して1を加算します。

+0

それは高いCPUを引き起こす無限ループなのですか? 場所が見つかるまでループして別のものに置き換える必要があります – Desmond

+0

NSLogをnextAnimationに追加して、何回実行したかを確認して、好きなものがあるかどうかを確認することができます。 – Tinyfool

+0

このコードで間違った無限ループは見られませんでした。唯一のループは必要なアニメーションループです。私はこの種のコードを毎日やっています。私は別の問題があると思う。 –

関連する問題