2011-07-05 15 views
0

UITableViewCellの背景色を白から赤にアニメーション化するために+[UIView animateWithDuration:animations:]メソッドを使用しようとしています。ただし、色はアニメーション化されず、すぐに赤色にジャンプします。私はsetBackgroundColor:setOpacity:に切り替えました。背景色を使用してアニメーションが失敗する原因は何ですか?以下は、私が使用しているコードです:UIViewアニメーションが途中で終了する

UITableView * tableView = (UITableView *)[self view]; 
[UIView animateWithDuration:0.2 animations:^{ 
    [[tableView cellForRowAtIndexPath: 
    [NSIndexPath indexPathForRow:0 inSection:0]] 
     setBackgroundColor:[UIColor redColor]]; 
}]; 

答えて

0

色のプロパティに変更を適用することはできません。 2つのバックグラウンドビューを作成し、それらの間でフェードインするには、.alphaプロパティを使用する必要があります。

+0

[docs](http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIView_Class/UIView/UIView.html%23//apple_ref/doc/)によると、そうではありません。 uid/TP40006816): 'このプロパティへの変更はアニメ化できます'。 – MJeffryes

+0

Hmm。代わりにcell.backgroundViewの色を設定してみてください。おそらく、セルは暗黙的なアニメーションを無効にしている可能性があります。 –

+0

それはより少なく機能します。正しい色にジャンプするのではなく、まったく変更しません。しかし、良いアイデア!また、ちょうどアルファを使用しているのではない理由は、グループ化された表のセルを使用していることです。カスタムのフルセルのサブビューを追加するのは苦痛です。 – MJeffryes

関連する問題