Предотвратить перекрытие изображений в ячейке табличного представления

В моем методе cellForRowAtIndexPath у меня есть следующий код.

    var cell = tableView.dequeueReusableCellWithIdentifier("Media Item", forIndexPath: indexPath) as MediaItemTableViewCell

    let mediaItem = tweet!.media[indexPath.row]

    let imageData = NSData(contentsOfURL: mediaItem.url)

    if imageData != nil {
        cell.mediaImage = UIImage(data: imageData!)
    } else {
        cell.mediaImage = nil
    }

    return cell

Когда я запускаю этот код, мое изображение перекрывает TableViewCell.

введите здесь описание изображения

Я бы хотел, чтобы изображение стало размером с миниатюру и не перекрывало границы TableViewCell. Как лучше всего подойти к этому? Я попытался изменить размер изображения, но изображение все равно обрезается. Спасибо.


person thank_you    schedule 09.04.2015    source источник
comment
Установили ли вы автомакеты для просмотра изображений и какую высоту вы возвращаете. И это пользовательская ячейка? Пожалуйста, опубликуйте дополнительную информацию, чтобы помочь вам   -  person Jassi    schedule 09.04.2015


Ответы (2)


Отметили ли вы соотношение сторон в UIImage и clipSubviews в классе MediaItemTableViewCell в interfaceBuilder? (Прикрепленное изображение). введите здесь описание изображения

person Javier Flores Font    schedule 09.04.2015
comment
Это обрезает изображение, однако теперь изображение отображается только частично. Это как если бы iOS обрезала часть изображения и отобразила его. Я хотел бы, чтобы все изображение отображалось. - person thank_you; 09.04.2015
comment
Правильно, соотношение сторон действительно уменьшает размер изображения, но показывает только его часть. - person thank_you; 09.04.2015
comment
он должен работать с режимом просмотра: аспектное соответствие или аспектное заполнение, но с пропорциональным заполнением вы потеряете соотношение сторон - person Javier Flores Font; 09.04.2015
comment
вы используете соотношение сторон на изображении или в ячейке? - person Javier Flores Font; 09.04.2015

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

person M_Waly    schedule 09.04.2015