2011-12-08 63 views
0

我需要創建一個UITableView(iOS開發),它將在每個表格單元格項旁邊顯示一個彩色塊。UITableView顏色塊

說我有一個NSMutableArray對象,它包含一個值爲itemColor的值,當我填充我的表格時,是否顯示包含itemColor的單元格旁邊的顏色塊?

基本上,我需要一個類似於Twitter如何顯示頭像的自定義UITableView

回答

2

我的項目中有類似的要求。 這一定會對你有所幫助。

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
    NSString *cellIdentifier; 
    UITableViewCell *cell; 
    cellIdentifier = [NSString stringWithFormat:@"Cell Identifier"]; 

    cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier]; 
    if (cell==nil) { 
     cell = [self tableViewCellWithReuseIdentifier:cellIdentifier forIndexPath:indexPath]; 
    } 
    [self configureCell:cell forIndexPath:indexPath]; 

    cell.selectionStyle = UITableViewCellSelectionStyleNone; 
    return cell; 
} 


-(UITableViewCell *)tableViewCellWithReuseIdentifier:(NSString *)identifier forIndexPath:(NSIndexPath *)indexPath{ 
    CGRect rect; 
    UILabel *label; 
    UIView *backView; 
    UITableViewCell *cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier] autorelease]; 

    float center = (float) (CELL_HEIGHT-MAINFONT_SIZE)/2; 

    rect = CGRectMake(15, center, 150, MAINFONT_SIZE); 
    label = [[UILabel alloc] initWithFrame:rect]; 
    label.autoresizingMask = UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleWidth; 
    label.tag = NAME_ID_TAG; 
    label.font = [UIFont boldSystemFontOfSize:MAINFONT_SIZE]; 
    label.backgroundColor = [UIColor clearColor]; 
    label.textColor = [UIColor blackColor]; 
    //label.highlightedTextColor = [UIColor whiteColor]; 
    [cell.contentView addSubview:label]; 
    [label release]; 

    rect = CGRectMake(160, 10, 150, CELL_HEIGHT-20); 
    backView = [[UIView alloc] initWithFrame:rect]; 
    backView.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin |  UIViewAutoresizingFlexibleWidth; 
    backView.backgroundColor = [UIColor clearColor]; 
    backView.tag = BACK_VIEW_TAG; 



    [cell.contentView addSubview:backView]; 
    [backView release]; 

    return cell; 
} 



-(void)configureCell:(UITableViewCell *)tableViewCell forIndexPath:(NSIndexPath *)indexPath{ 
    //DeviceInfo *device; 
    UILabel *label; 
    PatientInfo *patInfo; 
    UIView *backView; 
    patInfo = [patientarray objectAtIndex:indexPath.row]; 

    label = (UILabel *)[tableViewCell viewWithTag:NAME_ID_TAG]; 
    label.text = patInfo.patientName; 

    backView = (UIView *)[tableViewCell viewWithTag:BACK_VIEW_TAG]; 


     backView.backgroundColor = UIColorFromRGB(patInfo.itemColor); 


} 
+0

從我可以告訴,這是完美的!我對可可和其他東西還是有些新鮮的,所以你可以看一下這個例子嗎?剛剛做好正確的事情對我來說是一場艱苦的鬥爭。 – James

+1

查看本教程,您將獲得顯示桌面數據的基本想法。然後查找上面的代碼。 http://www.iosdevnotes.com/2011/10/uitableview-tutorial/ – virata

+0

完美!非常感謝:) – James