Как добавить размер и положение в ImageView в ячейке UITableView? - PullRequest
0 голосов
/ 13 февраля 2019

Я добавил изображение в свою ячейку UITableView:

cell.imageView!.image = UIImage(named: "Default.png")

Все работает, изображение отображается.Теперь я хочу указать нестандартный размер и положение изображения, поэтому я пробую его с этим кодом:

cell.imageView!.frame = CGRect(x: 29, y: 17, width: 14, height: 13)

Но по какой-то причине это не работает.Любые советы?

Ответы [ 3 ]

0 голосов
/ 13 февраля 2019
  1. Добавьте пользовательский класс для этой пользовательской tableViewCell.
  2. Создайте пользовательский tableViewCell внутри tableView через раскадровку.
  3. Добавьте изображение внутри этой пользовательской tableViewCell.
  4. Добавьте к этому изображению ограничения (верхний, нижний, ведущий, конечный).

Таким образом, вам не нужно ничего делать программно, и эти ограничения позаботятся о проблемах размера изображения..

0 голосов
/ 13 февраля 2019
  • Было бы лучше, если бы вы делали связанные с кадром вещи в раскадровке или Xib .если вы хотите их со статической рамкой.

RunTime:

  • Вы можете использовать NSLayoutConstraints
  • Вы можете изменить рамку в рисование (_ rect: CGRect) метод.
0 голосов
/ 13 февраля 2019

Если ваша позиция не изменится. Вы можете создать кадр в вашем TableViewCell

class TableViewCell: UITableViewCell {

@IBOutlet weak var imageView: UIImageView!

override func layoutSubviews() {
    super.layoutSubviews()

    self.imageView?.frame = CGRect(x: 12, y: 23, width: 12, height: 100)
}
}

. Вы можете изменить кадр в tableview(cellForRowAt), но если кадр не изменится, это плохо, потому что cellForRowAt запускается, когдапрокрутка вверх - вниз или загрузка ячейки.Вы можете определить в UITableViewCell один раз.

...