UIImage в проблеме UIcollectonView - PullRequest
0 голосов
/ 21 ноября 2018

Я пытаюсь добавить UIImage в UICollectionViewController, используя следующий код:

let backgroundImage = UIImageView(frame: CGRect(x: 0, y: 0, width: 430, height: 550))
backgroundImage.image = UIImage(named: "fantasy_football_hero_tile_cropped.png")
backgroundImage.contentMode = UIView.ContentMode.scaleAspectFit
backgroundImage.clipsToBounds = true
self.view.insertSubview(backgroundImage, at: 0)

Моя проблема заключается в том, что изображение находится не в нижней / нижней части экрана, как я.пытаясь достичь ... как я могу обрезать его до дна ?!Я не использую раскадровку, могу ли я программно привязать изображение к нижней части, как я мог бы это сделать в раскадровке?

Это особенно верно, поскольку размеры экрана у телефонов разные, но желание все ещезакрепить его на дне.

Ответы [ 2 ]

0 голосов
/ 21 ноября 2018

Одной из проблем здесь является то, что self.view для UICollectionViewController - это UICollectionView.Это представление с прокруткой, поэтому независимо от того, куда вы положили это представление изображения, оно будет перемещаться, когда прокручивается представление прокрутки.

Если это не то, что вам нужно, есть простое решение: установитепредставление изображения как представление коллекции backgroundView.Это стационарное представление, которое формирует фон для представления коллекции независимо от того, как оно прокручивается.Если вы установите для contentMode вида изображения значение bottom, изображение будет отцентрировано внизу, что похоже на то, что вам нужно.

0 голосов
/ 21 ноября 2018

вы можете добавить программно.Я думаю, что вы добавляете / вставляете некоторые представления в self.view, которые также влияют на простой сценарий

let backgroundImageV = UIView(frame: CGRect(x: 0, y: 0, width: 430, height: 500))
backgroundImageV.backgroundColor =  UIColor.blue
backgroundImageV.contentMode = UIView.ContentMode.scaleAspectFit
backgroundImageV.clipsToBounds = true
self.view.addSubview(backgroundImageV)


let backgroundImageV2 = UIView(frame: CGRect(x: 0, y: 0, width: 430, height: 510))
backgroundImageV2.backgroundColor =  UIColor.green
backgroundImageV2.contentMode = UIView.ContentMode.scaleAspectFit
backgroundImageV2.clipsToBounds = true
self.view.insertSubview(backgroundImageV2, at: 0)

let backgroundImage = UIImageView(frame: CGRect(x: 0, y: 0, width: 430, height: 550))
backgroundImage.backgroundColor =  UIColor.red
backgroundImage.contentMode = UIView.ContentMode.scaleAspectFit
backgroundImage.clipsToBounds = true
self.view.insertSubview(backgroundImage, at: 0)

Здесь красный будет снизу, зеленый будет в 1. потому что вы добавите этот красный вид позже.Так будет работать.Можете ли вы показать свой полный код.Это будет работать

...