我確定這是一個問題,已被問及回答,但我似乎無法找到我需要的東西。我試圖自定義我的UITableView的背景,爲此,我創建了UITableViewCell的子類,並使用IB構建了我的自定義單元。我成功地將自定義單元格連接到表視圖,所以我得到的單元格正在顯示。我試圖改變每個單元格的背景,所以這裏是我使用:UITableViewCell自定義 - 更改背景
if(row == 1){
rowBackground = [UIImage imageNamed:@"VehicleExpenses_button.png"];
selectionBackground = [UIImage imageNamed:@"VehicleExpenses_button_selected.png"];
((UIImageView *)cell.backgroundView).image = rowBackground;
// ((UIImageView *)cell.selectedBackgroundView).image = selectionBackground;
}
我的控制器類的
(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
方法中。我用調試器檢查過了,代碼中的所有行都被調用...
任何想法?
這是整個方法:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"HomeViewCell";
static NSString *CellNib = @"HomeViewCell";
UIImage *rowBackground;
UIImage *selectionBackground;
NSInteger row = [indexPath row];
UITableViewCell *cell = (UITableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:CellNib owner:self options:nil];
cell = (UITableViewCell *)[nib objectAtIndex:0];
}
if(row == 1){
rowBackground = [UIImage imageNamed:@"VehicleExpenses_button.png"];
selectionBackground = [UIImage imageNamed:@"VehicleExpenses_button_selected.png"];
((UIImageView *)cell.backgroundView).image = rowBackground;
// ((UIImageView *)cell.selectedBackgroundView).image = selectionBackground;
}
// perform additional custom work...
return cell;
}
我試過上面這段代碼,它沒有工作......會有什麼可能的連接,我失蹤了? – coder
我不確定這是否相關,但每次訪問tableView時,例如在tableView.bounds.size.width中,我都會收到一條警告:「本地聲明的'tableView'隱藏實例變量' – coder
@Heather:這意味着你在你的.h文件「tableView」中調用了tableview對象。這是一個問題,因爲這個方法有一個局部變量,名字的確切名稱......編譯器不知道你指的是哪個。 – RyanM