2011-06-23 23 views
0

カスタムテーブルセルクラスに矩形を描画するにはどうすればよいですか?セルは現在、いくつかのテキストラベルを持つ背景画像を持っています。それぞれのラベルの背後に矩形を描きたいので、詳細な背景画像を読みやすくなります。カスタムテーブルセル内に矩形を描画

私はラベルの背景色を設定できますが、背景色とテキストの間にパディングを入れたいと思っています。それが可能なら、私はどのように知っているのが大好きです! :)私はThree20でTTTableMessageItemCellをサブクラス化しています

は、この方法は、以下の_titleLableと背後に配置されるように

- (void)layoutSubviews { 

[super layoutSubviews]; 

CGFloat padding = 16; 
CGFloat boxWidth = self.contentView.width - 2*padding; 
CGFloat textWidth = boxWidth - (padding*2); 
CGFloat textHeight = 100; 
CGFloat top = kTableCellSmallMargin; 

// Position Heading Text 
_titleLabel.frame = CGRectMake(padding, top, textWidth, _titleLabel.font.ttLineHeight); 
top += _titleLabel.height; 

// Position Detail Text 
[self.detailTextLabel sizeToFit]; 
self.detailTextLabel.top = top+2*padding; 
self.detailTextLabel.left = 2*padding; 
self.detailTextLabel.width = textWidth; 
self.detailTextLabel.height = 100;  
} 

私は長方形をしたいと思い、ここであなたがセルのサブビューで遊ぶことができます呼び出されますdetailTextLabelラベル。

編集 私はそれがラベルの上に敷設されており、私はその背後にそれを得るように見えるカント

UIView *view = [[UIView alloc] init]; 
view.backgroundColor = [UIColor whiteColor]; 
view.frame = CGRectMake(padding, top, textWidth, textHeight+2*padding); 
[self insertSubview:view belowSubview:self.detailTextLabel]; 

、以下を使用して右のボックスを追加することができました。私は、間違ったサブビューにビューを追加することでそれを固定し、

た。..

編集

[[self.subviews objectAtIndex:0] insertSubview:view atIndex:0]; 
+0

参照:http://stackoverflow.com/questions/1106658/custom-draw-a-uitableviewcell – magma

答えて

1

ラベルをビューとセルに追加できます。

編集
あなたのラベルの後ろにビューを追加するinsertSubview:belowSubview:を使用することができます。 backgroundColorと右のフレームで、彼らはあなたが意図したことを行います。

編集
また持って来ることができdetailLabel to front

+0

私はので、私は「ドン既存のセルのクラスをオーバーライドしていますラベルが追加された場所を変更できるかどうかを知る... – TimOz44

+0

ラベルのスーパービューを削除して、それをuiviewに追加することができます。あなたのコードはあなたを助けやすくしてくれます – vikingosegundo

+0

最初の投稿にコードは含まれていませんでした。私はそれが役に立たないと思ったからです。私はそれを今追加して、私が働いているものを見ることができます – TimOz44

関連する問題