Остановить расширение изображения в строке многострочной таблицы? - PullRequest
0 голосов
/ 04 июля 2011

У меня проблемы с реализацией строки таблицы, которая позволяет переносить текст на несколько строк, а также имеет изображение слева и вспомогательное средство раскрытия справа.

Многострочный текст в порядке, но imageView расширяется вправо, когда имеется более одной строки текста. Я хочу, чтобы изображения во всех строках были одинакового размера. Я попытался установить autoresizingMask в UIViewAutoresizingNone, но это, похоже, не работает .. Мне нужно использовать contentView или файл пера?

Любая помощь / пример кода приветствуется!

Ответы [ 2 ]

0 голосов
/ 06 июля 2011
0 голосов
/ 04 июля 2011

Если все ваши изображения имеют разный размер, вам следует подумать о добавлении ImageView в качестве подпредставления в ячейку. Сохраняйте метки в зависимости от изображения.

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell;

    UIImageView *cellImage;
    UILabel *label;
    UILabel *detailLabel;

    cell = [tableView dequeueReusableCellWithIdentifier:@"cell"]; //Create cell
    if(cell == nil)
    {
        cell = [[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"cell"] autorelease];

        cellImage = [[[UIImageView alloc] initWithFrame:CGRectMake(3, 3, 44, 44)] autorelease];


        label = [[[UILabel alloc] initWithFrame:CGRectMake(55, 4, 260, 20)] autorelease];
        label.font = [UIFont boldSystemFontOfSize:15.0];
        label.tag=25;

        detailLabel = [[[UILabel alloc] initWithFrame:CGRectMake(55, 25, 260, 15)] autorelease];
        detailLabel.font = [UIFont systemFontOfSize:13.0];
        detailLabel.tag=30;

        [cell.contentView addSubview:cellImage];
        [cell.contentView addSubview:label];
        [cell.contentView addSubview:detailLabel];
        cell.accessoryType =UITableViewCellAccessoryDisclosureIndicator;

    }
    else
    {
        cellImage = (UIImageView *)[cell.contentView viewWithTag:20];
        label = (UILabel *)[cell.contentView viewWithTag:25];
        detailLabel = (UILabel *)[cell.contentView viewWithTag:30];
    }
    cell.image = [arrayContainingImages objectAtIndex:indexPath.row];
    label.text =[arrayContaininglabeltext objectAtIndex:indexPath.row];
    detailLabel.text=[arrayContainingDetailLabelText objectAtIndex:indexPath.row];
    return cell;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...