テーブル ビューからセルが選択されたときに、セルの背景色を白 (または透明) から黒に変更し、色の変化をアニメーション化したいと考えています。これは可能ですか?
uitableview セルの背景色を変更するには、特定のトリックが必要であることを知っています。ほとんどの部分は理解していますが、さらに一歩進んで、セルの背景色の変化をアニメーション化したいと考えています。これは didSelectRowAtIndexPath: メソッドで行われると想定しています。
テーブル ビューからセルが選択されたときに、セルの背景色を白 (または透明) から黒に変更し、色の変化をアニメーション化したいと考えています。これは可能ですか?
uitableview セルの背景色を変更するには、特定のトリックが必要であることを知っています。ほとんどの部分は理解していますが、さらに一歩進んで、セルの背景色の変化をアニメーション化したいと考えています。これは didSelectRowAtIndexPath: メソッドで行われると想定しています。
- (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];
}
私の知る限りでは、色の変化をアニメートすることはできません。私たちにできることは、タイマーで色を変えるトリックをすることです。アイデアは、startColor と endColor の 2 つの色が与えられると、中間の色 (20 としましょう) を簡単に見つけることができるということです。そして、NSTimer を使用して、定期的に color プロパティをそれぞれ異なる色に設定できます。このようにして、startColor から endColor へのスムーズなトランジション/アニメーションを実現できます。
誰かがコードを必要とする場合は、これにもコードを提供できます。