如何使用iOS中的x坐标为单元格着色

时间:2012-11-28 10:36:53

标签: ios uiscrollview uikit uicolor

我有一个CustomCell,它是UITableViewCell的子类。我有一个scrollView。我在pagingEnabled模式下使用此scrollView

我正在使用此代码设置此scrollView

的contentSize

scrollView.contentsize = CGSizeMake(720,70)

我想要做的是使用x坐标着色此单元格的backgroundColor。 (5,y)和(10,y)的颜色必须略有不同。我怎么能做到这一点?

编辑:好吧,我无法直接使用cell.backgroundColor= [UIColor redColor];,因为这会使所有背景变为红色,例如,我需要的是浅红色,并以深红色结束。所以,我必须解析所有屏幕并设置适当的颜色。

提前致谢。

3 个答案:

答案 0 :(得分:1)

听起来你需要自己画背景。最好的解决方案是创建一个与单元格大小相同的屏幕外位图,并在其中进行自定义绘图。然后将表格单元格的背景图像设置为该图像。我相信如果你使用一个名为UIImage的操作系统,操作系统会为你缓存它,并为具有该背景的每个单元重用它。

如果您需要更加动态,那么您需要在该表视图行的自定义子类中覆盖 - (void)drawRect:方法并动态执行自定义绘图。

答案 1 :(得分:0)

将UIScrollView委托函数实现到CustomCell类中,并将scrollview委托设置为CustomCell类。

并执行此操作

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{

    CGPoint point = [scrollView contentOffset];

    if (point.x > 80 && point.x < 300) {
        [self setBackgroundColor:[UIColor redColor]];

    }else if(point.x > 400 && point.x < 700){

        [self setBackgroundColor:[UIColor blueColor]];
    }
}

答案 2 :(得分:0)

检查一下......

   cell.textLabel.textColor=[UIColor colorWithRed:15.0/255.0 green:122.0/255.0 blue:202.0/255.0 alpha:1.0];

这有助于您为文字着色..