0

2 種類のセルがあります。1 つは標準のタイトル サブタイトル セルで、もう 1 つは 2 つの UITextField を持つカスタム セルです。また、それらは異なる識別子、VIEW と EDIT を持っています。

私のコードでは

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

2種類のセルを作成する必要があります。編集中のセルは常に 1 つしかないため、編集中のNSUIntegerセルを追跡するために を作成します。

私のコードは次のようになります。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell* cell;
    if ( rowInEdit == indexPath.row )
    {
        cell = [tableView dequeueReusableCellWithIdentifier:@"EDIT"];
        if ( !cell )
        {
            cell = [[UITableViewCell alloc]init];
        }
        RLSite* site = [[RLSettings settings]siteAtIndex:indexPath.row];
        [[cell textLabel]setText:site.name];
        [[cell detailTextLabel]setText:site.url];
    }
    else
    {
        cell = [tableView dequeueReusableCellWithIdentifier:@"VIEW"];
        if ( !cell )
        {
            cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"VIEW"];
        }
        RLSite* site = [[RLSettings settings]siteAtIndex:indexPath.row];
        [[cell textLabel]setText:site.name];
        [[cell detailTextLabel]setText:site.url];
    }
    return cell;
}

私の最初の部分には間違いなく欠陥があることに注意してください。プロトタイプでセルを作成する方法と、reuseIdentifier を割り当てる方法がわかりません。さらに、セルが作成された後、そのセル内のセルにアクセスする方法がわかりませんUITextField

誰でも私を助けることができますか?

4

1 に答える 1

2

e. how to create a cell with prototypeこれらのチュートリアルのいずれかからも学んだので、これらのチュートリアルに従うことができます

チュートリアル

  1. 最初に私が参照したもの。
  2. 二つ目

追加されたテキスト ビューを超えるには、それらにタグ値を割り当てる必要があります (明らかに異なる)。次に、以下のコードを使用して、メソッドの側でそれらを超過しますtableView:cellForRowAtIndexPath:

UITextField *txtField = (UITextField *)[cell viewWithTag:8];

ここで をタグ値に置き換え8ます:)

于 2012-10-20T07:39:24.423 に答える