如何让我的图片填满整个 ScrollView?

Posted

技术标签:

【中文标题】如何让我的图片填满整个 ScrollView?【英文标题】:How to make my Image fill the whole ScrollView? 【发布时间】:2018-05-13 14:47:18 【问题描述】:

我有一组图像,我想制作水平图像滑块。但图像并不总是适合整个滚动视图。这是我的代码:

scrollView.delegate = self

scrollView.isPagingEnabled = true
scrollView.showsHorizontalScrollIndicator = false

for (index, imageView) in imagesArray.enumerated() 
    imageView.frame.size.height = scrollView.frame.size.height
    imageView.frame.size.width = scrollView.frame.size.width
    imageView.contentMode = .scaleAspectFill
    imageView.clipsToBounds = true
    scrollView.addSubview(imageView)
    imageView.frame.origin.x = CGFloat(index) * self.view.bounds.size.width

scrollView.contentSize.width = self.view.frame.width * CGFloat(imagesArray.count)

我希望图像填充下图中黑色边框区域内的整个区域。

【问题讨论】:

尝试同时设置内容大小的宽度和高度 【参考方案1】:

我想你只需要修改行

imageView.contentMode = .scaleAspectFill

imageView.contentMode = .scaleAspectFit

【讨论】:

我已经尝试了每一个 contentMode ,但仍然不是所需的输出。【参考方案2】:

你必须设置contentSize

for (index, imageView) in imagesArray.enumerated()

    imageView.frame.size.height = scrollView.frame.size.height
    imageView.frame.size.width = self.view.frame.size.width
    imageView.contentMode = .scaleAspectFill
    imageView.clipsToBounds = true
    scrollView.addSubview(imageView)
    imageView.frame.origin.x = CGFloat(index) * self.view.bounds.size.width



scrollView.contentSize = CGSize.init(width: scrollView.frame.size.width * imagesArray.count, height: scrollView.frame.size.height)

在这里查看演示scrollDemo

【讨论】:

它没有用,我在问题中添加了用于滚动视图的完整代码。 我做了,还是没有,我添加了一张图片来澄清更多。【参考方案3】:

这可能比你想的更复杂,但是 Jarrod 的这个视频应该解释你想要的效果:https://www.youtube.com/watch?v=IUT0WByY7HI

【讨论】:

以上是关于如何让我的图片填满整个 ScrollView?的主要内容,如果未能解决你的问题,请参考以下文章

PPT中,如何让图片自动填满整个幻灯片?

使用电子表格插入图片,如何使图片刚好填满整个单元格,而不是浮在上面

让 RaphaelJS SVG 填满整个容器

为啥背景图片没有填满整个div

ListView 的高度填满整个屏幕,虽然设置为 wrap_content

用CSS如何让节点宽度自动填满