0

StoryBoard を使用していると、次のコードでこの状況が発生します。

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
//        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
    }

    cell.textLabel.text=[[cityArray objectAtIndex:indexPath.row] valueForKey:@"CELL_TEXT"];
    cell.detailTextLabel.text=[[cityArray objectAtIndex:indexPath.row] valueForKey:@"DETAIL_TEXT"];

私のテストでは、割り当てを実行するときに UITableViewCellStyleDefault または UITableViewCellStyleSubtitle を使用するという事実に関係なく、上記のコードの最後の 2 行が機能することがわかりました。

これらの最後の 2 行は、StoryBoard の設定 (セル スタイルを字幕にするかどうか) にのみ依存します。

ここに私の質問があります:UITableViewCellStyleDefaultからUITableViewCellStyleSubtitleに、またはその逆に、セルのスタイルをプログラムで制御するにはどうすればよいですか?

明らかに、割り当てのみを変更しても機能しません。また、設定できるプロパティも見つかりませんでした。

4

1 に答える 1

0

プロトタイプ セルで Storyboard を使用している場合、セルは nil にはなりません。常に作成されます。ストーリーボードでプロトタイプ セルを使用しないか、ストーリーボードから別のプロトタイプ セルを割り当てます。

于 2012-10-17T20:10:56.763 に答える