23

UITableViewサーバーから情報を取得し、そのデータをテーブルビューに公開するがあります。各セルの内部には、サーバーからの情報があります。

この例では、サーバーから取得する情報が1、2、3、4の数字であるとします。

私がやりたいのは、セルの左側に画像(ifステートメントなどがあるためプログラムで)を追加し、そのすぐ隣にテキスト(1、2など)を追加することです。

基本的に、各セルは次のようになります。

 _____________________________________
| (IMAGE) (TEXT)                      | --CELL 0
--------------------------------------
 _____________________________________
| (IMAGE) 2                           | --CELL 1
--------------------------------------

粗雑なイラストを失礼します。:)

4

5 に答える 5

21

どうぞ:

cell.imageView.image = [UIImage imageNamed:@"image.png"];

迅速:

cell.imageView?.image = UIImage(named: "image.png")
于 2011-08-24T17:24:12.257 に答える
8

次のように、UITableViewControllerサブクラスのUITableViewCellに画像とテキストの両方を追加できます。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString *CellIdentifier = @"Cell";

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

    [[cell imageView] setImage:anImage];
    [[cell textLabel] setText:[NSString stringWithFormat:@"%d",[indexPath row]];

     return cell;
}

UITableViewCellには、imageView、textLabel、detailTextLabelなど、利用できる「組み込み」プロパティがいくつかあります。詳細については、テーブルビュープログラミングガイドを参照してください。

于 2011-08-24T17:23:17.350 に答える
5

最初の答えのSwift2.0バージョンは次のとおりです。

cell.imageView?.image = UIImage(named: "image.png")
于 2015-09-24T08:54:27.133 に答える
4

UITableViewCellオブジェクトにはimageViewプロパティがあります。この画像ビューの画像を設定するだけで、画像が適切な場所に自動的に表示され、その横にタイトルが表示されます。

于 2011-08-24T17:22:44.360 に答える
0
// create a rectangle box for image view

UIImageView *iconImage = [[UIImageView alloc] init];
iconImage.frame = CGRectMake(12,4,53.5,53.5);

// Create a label for cells
UILabel *cellName = [[UILabel alloc] initWithFrame:CGRectMake(75,18,200,20)];
cellName.font = [self fontForBodyTextStyle];

NSString *cellNameStr = [NSString stringWithFormat:@"%@",self.tableCellNames[indexPath.row]];

// Select path row tab actions
switch (indexPath.row) {
    case 0:

        cellName.text = cellNameStr;
        iconImage.image = [UIImage imageNamed:@"condition.png"];
        [cell.contentView addSubview:iconImage];
        [cell.contentView addSubview:cellName];

        break;

    case 1:
       cellName.text = cellNameStr;
        iconImage.image = [UIImage imageNamed:@"videos.png"];
        [cell.contentView addSubview:iconImage];
        [cell.contentView addSubview:cellName];
        break;

    case 2:
        cellName.text = cellNameStr;
        iconImage.image = [UIImage imageNamed:@"provider.png"];
        [cell.contentView addSubview:iconImage];
        [cell.contentView addSubview:cellName];
        break;

    case 3:
        cellName.text = cellNameStr;
        iconImage.image = [UIImage imageNamed:@"info.png"];
        [cell.contentView addSubview:iconImage];
        [cell.contentView addSubview:cellName];
        break;

    default:
        NSAssert(NO, @"Unhandled value in cellForRowAtIndexPath");
        break;
}
于 2013-10-25T09:21:51.997 に答える