我使用自定義的UITableViewCell從筆尖。附件視圖是詳細披露指標。問題在於附件視圖後面的UITableViewCell的背景顏色未呈現(請參閱下面的圖像/源代碼)。任何線索?另外,這裏有一些東西,我試過,但沒有奏效:如何獲得UITableViewCell中的透明配件視圖? (W /截圖)
事情沒有工作:
- 設置附屬視圖的backgroundColor至clearColor
- 設置contentView.opaque細胞對FALSE
- 設置表視圖的contentView.opaque爲FALSE
- 設置爲電池
alt text http://www.chicknchoke.com/so/IMG_8028.png
-(void)showTablePrep
{
myTableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 480, 320, 416) style:UITableViewStylePlain];
myTableView.dataSource = self;
myTableView.delegate = self;
myTableView.delaysContentTouches = FALSE;
myTableView.opaque = FALSE;
myTableView.rowHeight = 60;
[UIView beginAnimations:@"SlideUp" context:nil];
[UIView setAnimationDuration:0.3f];
[myTableView setCenter:CGPointMake(myTableView.center.x, myTableView.center.y-436)];
[self.view addSubview:myTableView];
[self.view bringSubviewToFront:myTableView];
[UIView commitAnimations];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
FriendsCell* cell = [tableView dequeueReusableCellWithIdentifier:@"CustomCellID"];
if (cell == nil){
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"FriendsCellView" owner:self options:nil];
cell = (FriendsCell*)[nib objectAtIndex:0];
if(indexPath.row % 2 == 0){
cell.contentView.backgroundColor = [UIColor grayColor];
}else{
cell.contentView.backgroundColor = [UIColor lightGrayColor];
}
cell.accessoryView.backgroundColor = [UIColor clearColor];
cell.contentView.opaque = FALSE;
cell.selectionStyle = UITableViewCellSelectionStyleNone;
if(f
riendsCounter > indexPath.row){
cell.titleLabel.text = @"Label";
cell.descLabel.text = @"Description goes here";
}else{
cell.titleLabel.text = @"";
cell.descLabel.text = @"";
cell.accessoryType = UITableViewCellAccessoryNone;
}
}
return cell;
}
我也想提一提,有一個非常好的定製'UITableView'繪圖的概述:http://cocoawithlove.com/2009/04/easy-custom-uitab leview-drawing.html – Alex 2009-10-01 14:56:47
這對我有用: cell。backgroundView = [[UIView alloc] init]; cell.backgroundView.backgroundColor = [UIColor yellowColor]; – joshaidan 2011-05-02 18:56:09
@joshaidan不要忘記釋放你創建的視圖(除非你使用ARC):cell.backgroundView = [[[UIView alloc] init] autorelease]; – manicaesar 2012-06-18 14:17:11