2016-03-24 3 views
-1

私のテーブルビューのセルの背景の左半分または右半分を色付けしたいと思います。それをどうすれば管理できますか?今のところ、私は行全体の背景色を設定することしかできません。私は、セルの左半分にラベルを貼り付け、ラベルの背景色を設定しようとしました。しかし問題は、セルの内容を見ることができないようにラベルがcell.textを覆っていることです。私は実際にセルのテキストのすぐ下で、セルの背景の上にラベルを設定できるかどうかを知りたいです。それは仕事をすることができます。しかし、テーブルビューのセルの半分をカラーリングするだけの他のアプローチも高く評価されています。tableviewセルの半分だけの背景色を設定するには

@ winnder.ktwをプログラムで設定しようとしました。しかし、私はエラーがあるimage私はそれを修正することができますか? ありがとうございます!

答えて

0

あなたがインターフェイスビルダーを使用している場合は、ちょうど左のドキュメントアウトラインパネル内のビューの順序を変更し、あなたは何の上に何を選択することができますすべてのあなたの場合は

Document Outline

バックグラウンドが必要です。ラベルを追加する必要はありません。セルに通常のビューを追加するだけです。

編集:ここでは、ビューとラベルを追加して、ラベルがドキュメントアウトラインパネルのビューの下にあることを確認します。

enter image description here

+0

を試してみてください、私の質問は、「行の左半分のみの背景色を変更する方法?」です – DDR

+0

正確には、行の左半分に通常のビューを追加し、必要なものを追加して、ドキュメントアウトラインパネルのビューの上にあることを確認します。 – dbmrq

+0

ああ、実際は逆ですが、ドキュメントのアウトラインの背景の下になければなりません。私は答えを更新するでしょう – dbmrq

-1

明確にするため、この

- (UITableViewCell *) tableView: (UITableView *)tableView cellForRowAtIndexPath: (NSIndexPath *)indexPath { 

    UITableViewCell *cell = (UITableViewCell *)[tableView dequeueReusableCellWithIdentifier: @"any-cell"]; 
    if (!cell) { 
     cell = [[UITableViewCell alloc] initWithStyle: UITableViewCellStyleValue1 reuseIdentifier: @"any-cell"]; 

     UIView* bgView = [[UIView alloc] initWithFrame: cell.bounds]; 
     bgView.backgroundColor = [UIColor whiteColor]; 
     UIView* halfView = [[UIView alloc] initWithFrame: CGRectMake(0, 0, cell.bounds.size.width/2.0, cell.bounds.size.height)]; 
     halfView.backgroundColor = [UIColor greenColor]; 
     [bgView addSubview: halfView]; 
     cell.backgroundView = bgView; 
    } 

    return cell; 
} 
+0

Objective Cについてよく分かりませんが、プログラムでビューを作成していることを理解しています。あなたのケースでは、セルコンテンツをどのように設定することができ、作成したビューではカバーされないようにするにはどうすればいいですか? – DDR

+0

このコードはbackgroundViewを変更するだけなので、セルの内容をカバーしないでください。 –

+0

ok、私は私のセットアップでいくつかの問題があると思う。 CALayerInvalid、reason:layer はレイヤーツリー内のサイクルの一部です "というエラーが発生しているため、 – DDR