1

Storyboard で作成したカスタム セルをテーブルビューで使用し、アクセサリ ビューを追加するチュートリアルに従っています。テーブルは正常にロードされています。しかし、アクセサリ ビュー (画像) を追加しようとすると、何も表示されません。ストーリーボードの設定が間違っている可能性はありますか? コードの問題?または、アクセサリ ビューが表示されないのはなぜですか

チュートリアルでアクセサリ ビューを追加する方法は次のとおりです。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    IDContactImport *contactImport = self.contacts[indexPath.row];
    IDTableViewCell *idTableCell =(IDTableViewCell *)cell;
    idTableCell.contactImport=contactImport;
    if (contactImport.imageData==nil)
    {
        idTableCell.iconView.image = [UIImage imageNamed:@"headshot.jpg"];
    }
    else{
       idTableCell.iconView.image = [UIImage imageWithData:contactImport.imageData];
    }
//HERE IS ACCESSORY VIEW
    UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"checkbox.jpg"]];
    idTableCell.accessoryView = imageView;
//   [self updateAccessoryForTableCell:cell atIndexPath:indexPath];
          // Configure the cell...
    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    }
    return cell;
}

提案をありがとう

4

4 に答える 4

0

上記の回答のいずれもあなたの問題に対処しているとは思いません。それはすべてストーリーボードに関係していると言うことは正しいです。

これを修正するには、Main.storyboard に移動し、テーブル ビューをクリックして、下の図に従って推奨される制約にビューをリセットします。提案された制約へのリセット

于 2015-12-26T15:32:49.890 に答える
0

dequeueReusableCellWithIdentifier:呼び出しを次のように変更します。

UITableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];

これは常にセルを返すため、nil をチェックする必要はありません。

// if (cell == nil) {
//     cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
// }
于 2015-06-08T12:32:39.857 に答える