我有一個顯示用戶圖像,名稱和一些文本的表格單元格。用戶的圖像是50x50,但我想要一個邊框,所以我將視圖設置爲居中圖像並將幀設置爲52x52,然後將該視圖的背景顏色設置爲我的邊框顏色。這顯示了圖像周圍的1像素邊框。UITableViewCell的selectedBackgroundView獲取應用於單元格中的所有視圖
我也想在單元格被選中時在單元格的右邊顯示一個30像素寬的邊框。我試圖通過創建一個UIView單元框架的大小,然後添加一個子視圖到UIView的寬度和背景顏色,我想。然後我將該視圖設置爲單元格的selectedBackgroundView。
這裏的問題是,單元格的selectedBackgroundView被應用到單元格內所有視圖的背景。所以當我選擇一個單元格時,圖像「邊框」被設置爲單元格的選定背景顏色,我添加的另一個30像素「邊框」也被更改爲該背景顏色。
代碼我的cellForRowAtIndexPath裏面:
cell = (UserCellView *) currentObject;
UIView *c = [[UIView alloc ] initWithFrame:CGRectMake(0, 0, 30, cell.frame.size.height)];
c.backgroundColor = [[UIColor alloc] initWithRed:64/255.0 green:64/255.0 blue:64/255.0 alpha:1.0];
UIView *v = [[UIView alloc ] initWithFrame:cell.frame];
v.backgroundColor = [[UIColor alloc] initWithRed:35/255.0 green:35/255.0 blue:35/255.0 alpha:1.0];
[v addSubview:c];
cell.selectedBackgroundView = v;
[c release];
[v release];
你能有更多的解釋?我如何設置contentView上的backgroundView? – JasonB 2010-10-29 15:32:47