0

これは私の問題です。カスタム セル クラスを作成せずにカスタム セルを作成します。私はこれが可能であることを知っています。ストーリーボードに、ラベル付きのプロトタイプ セルを持つ tableviewcontroller を作成しました。属性で、セル名「mycell」を設定しました。そして、私が使用したコードは次のとおりです。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{  static NSString *CellIdentifier = @"mycell";
   UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
   if (cell == nil) 
   { cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];}
   UILabel *title = (UILabel*) [cell viewWithTag:1];
   title.text = @"Hi";
   return cell;
}

しかし、アプリを実行すると、ラベルの付いたセルのない空のテーブルしか表示されません。

4

1 に答える 1

0

UILabel のタイトルは nil です。最初に UILabel を作成し、サブビューとしてセルに追加します。以下のようにこれを行うことができます

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {  
     static NSString *CellIdentifier = @"mycell";
     UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
     if (cell == nil) {
         cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
     }

     UILabel *title = (UILabel*) [cell viewWithTag:1];
     if (title == nil) {
         title = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 300, 15)];
         title.tag = 1;
         [cell.contentView addSubview:title];
     }

     title.text = @"Hi";
     return cell;
}
于 2013-04-24T11:44:35.220 に答える