监狱牢房?自定义IOS表视图单元格

时间:2012-11-26 05:00:11

标签: objective-c ios cocoa-touch ios5 ios4

我有以下代码

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];


    UIImage * i1 = [UIImage imageNamed: @"inc_01.png"];
    UIImage * i2 = [UIImage imageNamed: @"inc_02.png"];
    UIImage * i3 = [UIImage imageNamed: @"inc_04.png"];
    UIImage * i5 = [UIImage imageNamed: @"inc_05.png"];
    UIImage * i6 = [UIImage imageNamed: @"inc_06.png"];
    UIImage * i7 = [UIImage imageNamed: @"inchd.png"];

    if (cell == nil) {

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

    }

    if(indexPath.row == 0)
    {
        UIImageView * header= [[UIImageView alloc] initWithImage: i1];

        cell.backgroundView = header;
        // Configure the cell…
    }
    else if (indexPath.row == 2)
    {

        UIImageView *backgroundCellImage=[[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 280, 11)];

        backgroundCellImage.image=[UIImage imageNamed:@"inc_06.png"];

        [cell.contentView addSubview:backgroundCellImage];
    }
    else
    {
        // Configure the cell…
        UIImageView *imageView = [[UIImageView alloc] initWithImage: i3];

        cell.textLabel.text = @"text";

        UIImageView *backgroundCellImage=[[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 57, 46)];

        backgroundCellImage.image=[UIImage imageNamed:@"inc_02.png"];

        UIImageView *backgroundCellImage2=[[UIImageView alloc] initWithFrame:CGRectMake(223, 0, 57, 46)];
        backgroundCellImage2.image=[UIImage imageNamed:@"inc_04.png"];

        UILabel * label = [[UILabel alloc] initWithFrame:CGRectMake(57, 0, 166, 46)];

        label.text = @"wow";

        [cell.contentView addSubview:backgroundCellImage];
        [cell.contentView addSubview:backgroundCellImage2];
        [cell.contentView addSubview:label];


    }

    return cell;  
}

基本上创建一个表视图并将图像放在每个单元格的左侧和右侧。我想要它,以便人们可以点击每个单元格中的左图像或右图像,并根据单元格编号发生不同的事情。

因此,如果他们点击第1行中单元格的左侧图像,则会使用他们点击的行号调用函数,并且指示器告诉我他们点击了左侧图像而不是右侧图像。

我怎样才能使用objective-c?

1 个答案:

答案 0 :(得分:2)

制作一个自定义原型单元格如下

 ---------------------------------------
| Button 1 |     Text       | Button 2 |
 ---------------------------------------

为这两个按钮调用不同的方法。


或者,您可以查看详细解释细胞的this official documentation

将右图像添加为accessory view,将左图像添加为editing control