2011-04-05 50 views
3

我試圖創建一個分組樣式tableview,其中包含帶背景圖像的單元格。桌面視圖和單元格都已在Interface Builder中設置。爲UITableViewCells(分組樣式)使用背景圖像 - 角不圓形

一切正常,但單元格不會剪切背景圖像的角落,使單元格保持正方形。我試圖啓用「剪輯子視圖」,我嘗試添加一個UIImageView作爲子視圖(而不是使背景視圖圖像視圖),我都試圖直接選擇背景圖像或連接一個單獨的UIImageView到細胞的backroundView出口 - 無濟於事。

我試着以編程方式設置單元格 - 不起作用。似乎唯一會讓角落變圓的是直接在Interface Builder中選擇背景顏色(不是圖像),這不是我想要的。

還有其他關於SO的問題以及相關的問題,但都沒有涉及到背景圖片的使用,所以沒有幫助。

非常感謝任何見解..!

回答

7

你試過_table.backgroundColor = [UIColor clearColor];

FIXED:_cell.backgroundColor = [UIColor colorWithPatternImage:image];

+0

是的,沒有幫助... – Toastor 2011-04-05 15:52:14

+1

怎麼樣_cell.backgroundColor =的UIColor colorWithPatternImage:圖像]。 – DavidM 2011-04-05 15:55:11

+0

!!工作!謝謝花花公子,花了32479小時不花錢,你救了我的一天!請在您的答案中包含解決方案,以便爲具有相同問題的其他人找到更容易的解決方案!再次感謝!! – Toastor 2011-04-05 16:04:30

2

上面沒有爲我工作。

先設置你的窗口到你想要的顏色在你的應用程序代理這樣的背景:

UIView *bgView = [[UIView alloc] initWithFrame:self.window.frame]; 
bgView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"main_background.png"]]; 
[self.window addSubview:bgView]; 
[bgView release]; 

現在,如果你只是有一個視圖控制器只需設置它的背景,清除和你做。我不得不採取下一步措施,因爲我彈出了帶有表格視圖的模態窗口,並且如果該視圖的背景清晰,它看起來會不穩定。所以下面的代碼固定了波濤洶涌的視圖,我仍然得到圓角,因爲在視圖出現之後,我將背景設置爲再次清除,並讓窗口中的背景顯示出來。

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"main_background.png"]]; 
} 

- (void)viewDidAppear:(BOOL)animated { 
    [super viewDidAppear:animated]; 
    self.view.backgroundColor = [UIColor clearColor]; 
    [self.tableView reloadData]; 
}