UIcollectonView问题中的UIImage

时间:2018-11-21 02:28:00

标签: swift uicollectionview uiimage

我正在尝试通过使用以下代码将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 :(得分:0)

您可以以编程方式添加。我认为您向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。因为稍后添加该红色视图。因此它将起作用。您能显示完整的代码吗?会起作用

答案 1 :(得分:0)

这里的一个问题是UICollectionViewController的self.view是UICollectionView。这是一个滚动视图,因此无论您将此图像视图放在哪里,滚动视图滚动时它都会移动。

如果这不是您想要的,有一个简单的解决方案:将图像视图设置为集合视图的backgroundView。那是一个固定视图,无论它如何滚动,它都会构成集合视图的背景。如果将图像视图的contentMode设置为bottom,则图像将居中于底部,这似乎是您要寻找的。