Исправление просмотра изображений в UITableViewCell в iPhone? - PullRequest
1 голос
/ 21 января 2011

У меня есть ячейка таблицы, в которой есть все настройки по умолчанию. И я помещаю изображение в ImageView слева, и я помещаю некоторый случайный текст в TextLabel.

и я регулирую высоту ячейки, используя метод ниже.

  • (CGFloat) tableView: (UITableView *) tableView heightForRowAtIndexPath: (NSIndexPath *) indexPath

Проблема в том, что размер левого изображения в ImageView зависит от высоты ячейки.

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

Что вызывает это и как я могу решить эту проблему ??

alt text

- добавлено

Это мой метод cellForRowAtIndexPath.


    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefaultt reuseIdentifier:CellIdentifier] autorelease];
    }
    cell.textLabel.numberOfLines = 0;
    cell.textLabel.text = [self GetSelectionForRowAtIndexPath:indexPath];

    NSString *path = [[NSBundle mainBundle] pathForResource:@"icon_notSelected" ofType:@"png"];
    UIImage *theImage = [UIImage imageWithContentsOfFile:path];
    cell.imageView.image = theImage;

Это показывает, что imageView не становится больше, даже если я увеличу высоту ячейки.

alt text

Ответы [ 3 ]

0 голосов
/ 21 января 2011

Вы можете сделать это только по коду.Для этого не нужен ИБ.

0 голосов
/ 21 января 2011

Дайте изображению фиксированный кадр, а затем отцентрируйте его вертикально в ячейке.

Что-то вроде этого:

imageview.frame = CGRectMake(5, floor(cellHeight/2)-20, 40, 40);

Или просто используйте свойство viewview UITableViewCell.

0 голосов
/ 21 января 2011
UIImage *image = [UIImage imageNamed:@"your_image.png"];
cell.imageView.image = image;

поместите этот код в - (UITableViewCell *) tableView: (UITableView *) tableView cellForRowAtIndexPath: (NSIndexPath *) indexPath

If покажет изображение в каждой ячейке таблицы в одной строке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...