2010-03-11 66 views
0

我有一個帶有每個單元格的自定義圖像背景的表格視圖。在正常模式下,背景非常完美,並填充所有單元格。當tableView進入編輯模式時,左側出現「 - 」按鈕,所有對象都縮進,左側出現背景問題:出現白色區域。誰能幫我?背景圖片足夠大以填充所有單元格,但其編輯模式下移動。我可以解決它嗎?非常感謝!如何在編輯模式下調整UITableViewCell背景

更新:

我在我的UITableViewCell子類使用此代碼:

- (void) layoutSubviews 
{ 

    UIImage *backgroundImage = [UIImage imageNamed:@"sfondoCella2.png"]; 
    UIImageView *bgView = [[UIImageView alloc] initWithFrame:self.bounds]; 
    bgView.image = backgroundImage; 
    self.backgroundView = bgView; 
    [bgView release]; 

} 

要設置背景和appranetly效果很好在正常模式下,但是當你在編輯模式去一切都錯了:circulare紅刪除按鈕不會出現,並且單元格的格式(在IB中設置的背景完美)不正確。

+0

你可以添加你的代碼來設置背景圖片嗎? – 2010-03-11 02:09:50

回答

2

我不認爲有辦法通過IB添加背景圖片。相反,我假設你只是添加一個UIImage子視圖。

我在代碼中的表格單元格中添加了背景圖片,我沒有描述的問題。

UIImage *backgroundImage = [UIImage imageNamed:@"my-bg.png"]; 
UIImageView *bgView = [[UIImageView alloc] initWithFrame:self.backgroundView.frame]; 
bgView.image = backgroundImage; 
cell.backgroundView = bgView; 
[bgView release]; 

理想情況下,你可以在自定義UITableViewCell的layoutSubviews方法做到這一點,然後告訴IB說這是你的班級。

通過擴展UITableViewCell,您可以重寫以下方法並控制單元格在編輯模式或選中時的外觀。

- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated 
- (void)setEditing:(BOOL)editing animated:(BOOL)animated 
+0

問題是,我想有2個不同的背景,當我選擇的單元格。在IB中,如果您設置了「背景」和「選定背景」屬性,則可以在點擊單元格時更改背景。使用你的方法,當你點擊單元格時,所選的背景圖片不起作用 – Luca 2010-03-11 11:01:30

+0

實際上,如果你實現了你自己的UITableViewCell,你可以覆蓋setHighlighted和/或setEditing。 – 2010-03-11 14:53:05

2

您可能已將圖像視圖添加爲UITableViewCellcontentView的子視圖。您需要將圖像視圖設置爲UITableViewCellbackgroundView

backgroundView不能在edditing模式下移動。

+0

我已將它作爲背景添加到Interface Builder中。我認爲它是相同的 – Luca 2010-03-11 02:17:54

相關問題