UITableViewCell用动画填充颜色

时间:2016-03-10 10:07:26

标签: ios uicolor uitableview ios-animations

从右端开始,我必须填充UITableViewCell中的颜色(或更好地说,在一小段时间内从右向左更改UITableViewCell的背景)。我怎么能实现这个目标?

2 个答案:

答案 0 :(得分:4)

这很容易。

只需在背景中放置一个视图,从0宽度开始,在tableview / tableview单元格的右侧,然后将其设置为超视图的整个宽度。

代码段(以Swift游乐场的形式)

导入UIKit 导入XCPlayground

let tableView = UIView(frame: CGRect(x: 0, y: 0, width: 100, height: 200))
tableView.backgroundColor = UIColor.whiteColor()

var animatedBackroundColorView = UIView(frame: CGRect(x: tableView.frame.width, y: tableView.frame.origin.y, width: tableView.frame.width, height: tableView.frame.height))
animatedBackroundColorView.backgroundColor = UIColor.orangeColor()
tableView.addSubview(animatedBackroundColorView)
UIView.animateWithDuration(1) { () -> Void in
    animatedBackroundColorView.frame = tableView.frame
}
XCPShowView("identifier", view: tableView)

Rending:enter image description here

答案 1 :(得分:1)

试试这个

UIView *backgroundView = [[UIView alloc] initWithFrame:CGRectMake(cell.frame.size.width + 1,0,cell.frame.size.width,cell.frame.size.height)];
[backgroundView setBackgroundColor:yourColor];
[cell addSubview:backgroundView];
[UIView animateWithDuration:2.0 animations:^{
     CGRect rect = backgroundView.frame;
     rect.origin.x = 0;
     [backgroundView setFrame:rect];
} completion:NULL];