2011-06-23 47 views
0

如何在自定義表格單元格類別中繪製矩形?該單元格目前有一個帶有幾個文本標籤的背景圖片。我想在每個標籤後面繪製一個矩形,以便它們更容易閱讀詳細的背景圖像。在自定義表格單元格中繪製矩形

我知道我可以只設置標籤的背景顏色,但我希望在背景顏色和文本之間有填充。如果這是可能的,我很想知道如何! :)

我繼承在Three20一個TTTableMessageItemCell,方法如下被調用,可以在其中與細胞的子視圖玩,

- (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;  
} 

我想的矩形被放置在_titleLable背後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

我重寫現有的電池類,所以我不t知道我是否可以更改添加標籤的位置... – TimOz44

+0

您可以從其超級視圖中移除標籤並將其添加到uiview。順便說一句:向我們展示您的代碼將使其更容易幫助您 – vikingosegundo

+0

我沒有在我的初始文章中包含代碼,因爲我認爲它不會有幫助。我現在將添加它,以便您可以看到我正在處理的內容 – TimOz44