2015-04-09 3 views
0

В моем методе cellForRowAtIndexPath у меня есть следующий код.Предотвращение перекрытия изображения в таблице View Cell

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.

enter image description here

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

+0

Вы установили автоспуск для изображения и какова высота и возвращаемая высота. И это обычная ячейка? Пожалуйста, напишите дополнительную информацию, чтобы помочь u – Jassi

ответ

0

Вы отметили аспектность в UIImage и clipSubviews на классе MediaItemTableViewCell в интерфейсеBuilder? (Прикрепленное изображение). enter image description here

+0

Это делает клип, однако теперь изображение показывается только частично. Это как если бы iOS обрезал часть изображения и отображал его. Я хотел бы, чтобы весь образ отображался. – jason328

+0

с аспектным подходом не работает? –

+0

Корректность, аспект подходит уменьшает размер изображения, но только показывает его часть. – jason328

0

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