2012-03-09 50 views
1

從表格視圖中選擇單元格時,我希望單元格的背景色從白色(或清晰)變爲黑色,並且希望顏色更改爲動畫效果。這可能嗎?將動畫更改爲uitableviewcell的背景色

我知道某些技巧對於改變uitableview單元格的背景顏色是必要的,而且我大部分都理解這些技巧,但我想更進一步,併爲單元格背景顏色的變化設置動畫效果。我假設這將在didSelectRowAtIndexPath:方法中完成。

+0

這是用於'UILabel',但它應該得到點。 [http://stackoverflow.com/a/3947389/716216](http://stackoverflow.com/a/3947389/716216) – 2012-03-09 22:44:39

回答

0

就我所知,我們不能爲顏色變化設置動畫。 我們可以做的,是玩一個竅門,用計時器改變顏色。這個想法是,給定兩種顏色,startColor和endColor,可以很容易地找到中間的顏色(可以說20)。然後使用NSTimer,我們可以定期將顏色屬性設置爲不同的顏色。 這樣,我們可以從startColor到endColor進行平滑過渡/動畫。

如果有人需要一個代碼,那麼我也可以爲此提供代碼。

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]; 
}