1

CustomCellサブクラスである がありUITableViewCellます。私はscrollViewそれを持っています。これscrollViewを pagingEnabled モードで使用しています。

このコードを使用して contentSize を設定していますscrollView

scrollView.contentsize = CGSizeMake(720,70)

私がやりたいことは、x 座標を使用してこのセルの backgroundColor を色付けすることです。(5,y) と (10,y) の色はわずかに異なる必要があります。どうすればそれを達成できますか?

編集:まあ、cell.backgroundColor= [UIColor redColor];それはすべての背景を赤くするため、直接使用することはできません。たとえば、必要なものは、明るい赤色で始まり、暗い赤色で終わります。したがって、すべての画面を解析して適切な色を設定する必要があります。

前もって感謝します。

4

3 に答える 3

1

自分で背景を描く必要があるようです。最善の解決策は、セルのサイズであるオフスクリーンビットマップを作成し、その中でカスタム描画を行うことです。次に、テーブルセルの背景画像をその画像に設定します。名前付きUIImageを使用する場合、OSはそれをキャッシュし、その背景を持つ各セルで再利用すると思います。

これをより動的にする必要がある場合は、そのテーブルビュー行のカスタムサブクラスで-(void)drawRect:メソッドをオーバーライドし、その場でカスタム描画を実行する必要があります。

于 2012-11-28T16:19:49.903 に答える
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]];
    }
}
于 2012-11-28T11:00:49.960 に答える
0

これをチェックして...

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

これは、テキストを色付けするのに役立ちます..

于 2012-11-28T11:12:24.977 に答える