您的位置:首页 > 其它

三种自定义CELL 的方法

2013-08-14 18:24 411 查看
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

{

    static NSString *CellIdentifier = @"Cell";

    if (self.cellType == kContentCellType) {

       

        UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

       

        if (cell == nil) {

            cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];

           

            UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 150, 44)];

            label.tag = 101;

            label.backgroundColor = [UIColor redColor];

            [cell.contentView addSubview:label];

            [label release];

           

            // add subviews ....

        }

       

        UILabel *label = (UILabel *)[cell.contentView viewWithTag:101];

        label.text = _listArray[indexPath.row];

       

        return cell;

       

    }else if (self.cellType == kNibCellType) {

       

        UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

       

        if (cell == nil) {

           

            NSArray *nibs = [[NSBundle mainBundle] loadNibNamed:@"MyCell" owner:self options:nil];

            cell = [nibs objectAtIndex:0];

        }

       

        UILabel *label = (UILabel *)[cell.contentView viewWithTag:201];

        label.text = _listArray[indexPath.row];

       

        UIImageView *imgView = (UIImageView *)[cell.contentView viewWithTag:202];

        imgView.backgroundColor = (indexPath.row%2 == 0) ? [UIColor redColor] : [UIColor yellowColor];

       

        return cell;

       

    }else if (self.cellType == kCustomCellType){

       

        MyCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

       

        if (cell == nil) {

            cell = [[[MyCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];

        }

       

        cell.text = _listArray[indexPath.row];

       

//        NSLog(@"textLabel >>>>: %@", NSStringFromCGRect(cell.textLabel.frame));

       

        return cell;

       

    }else {

        return nil;

    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: