1

テーブル ビューからセルが選択されたときに、セルの背景色を白 (または透明) から黒に変更し、色の変化をアニメーション化したいと考えています。これは可能ですか?

uitableview セルの背景色を変更するには、特定のトリックが必要であることを知っています。ほとんどの部分は理解していますが、さらに一歩進んで、セルの背景色の変化をアニメーション化したいと考えています。これは didSelectRowAtIndexPath: メソッドで行われると想定しています。

4

2 に答える 2

3
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{
    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:0.8];
    [self.tableView cellForRowAtIndexPath:indexPath].imageView.alpha = 1.0;
    [self.tableView cellForRowAtIndexPath:indexPath].backgroundColor=[UIColor redColor];

    [UIView commitAnimations];   
}
于 2012-10-03T09:09:45.563 に答える
0

私の知る限りでは、色の変化をアニメートすることはできません。私たちにできることは、タイマーで色を変えるトリックをすることです。アイデアは、startColor と endColor の 2 つの色が与えられると、中間の色 (20 としましょう) を簡単に見つけることができるということです。そして、NSTimer を使用して、定期的に color プロパティをそれぞれ異なる色に設定できます。このようにして、startColor から endColor へのスムーズなトランジション/アニメーションを実現できます。

誰かがコードを必要とする場合は、これにもコードを提供できます。

于 2012-03-12T12:00:56.907 に答える