0

次のコードがあります

- (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を使用してどうすればそれを行うことができますか?

4

1 に答える 1

2

次のようにカスタム プロトタイプ セルを作成します。

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

両方のボタンに対して異なるメソッドを呼び出します。


または、セルを詳細に説明しているこの公式ドキュメントをご覧ください。

右の画像を として追加しaccessory view、左の画像をとして追加しますediting control

于 2012-11-26T05:08:14.407 に答える