Ios 以编程方式在ScrollView中创建UIImageView

Ios 以编程方式在ScrollView中创建UIImageView,ios,swift,uiscrollview,uiimageview,Ios,Swift,Uiscrollview,Uiimageview,我正在尝试将UIImageView添加到ScrollView以获得水平分页效果 let pagesScrollViewSize = scrollView.frame.size scrollView.contentSize = CGSizeMake(pagesScrollViewSize.width * CGFloat(pageImages.count), pagesScrollViewSize.height) for var index = 0; index <

我正在尝试将UIImageView添加到ScrollView以获得水平分页效果

    let pagesScrollViewSize = scrollView.frame.size
    scrollView.contentSize = CGSizeMake(pagesScrollViewSize.width * CGFloat(pageImages.count), pagesScrollViewSize.height)


    for var index = 0; index < 3; ++index {
        var frame = containerView.bounds
        frame.origin.x = frame.size.width * CGFloat(index)
        frame.origin.y = 0.0

        let newPageView = UIImageView(image: pageImages[index])

        newPageView.frame = frame
        newPageView.contentMode = .ScaleAspectFit

        scrollView.addSubview(newPageView)
    }
让pagescrollviewsize=scrollView.frame.size
scrollView.contentSize=CGSizeMake(pagesScrollViewSize.width*CGFloat(pageImages.count),pagesScrollViewSize.height)
对于var指数=0;指数<3++索引{
var frame=containerView.bounds
frame.origin.x=frame.size.width*CGFloat(索引)
frame.origin.y=0.0
让newPageView=UIImageView(图像:pageImages[索引])
newPageView.frame=frame
newPageView.contentMode=.ScaleSpectFit
scrollView.addSubview(newPageView)
}
以下是我的布局:

但在手机/模拟器上,图像被缩放到滚动视图高度。我想缩放图像到滚动视图宽度,所以在一个页面上将是一个图像


要将图像缩放到滚动视图宽度,需要先调整大小(将图像缩放到宽度)+裁剪图像。将内容模式设置为
ScaleAspectFit
只会“…通过保持纵横比来缩放内容以适应视图的大小。视图边界的任何剩余区域都是透明的”

问题是我在故事板中使用了自动布局,但我添加了新视图,而没有添加约束。因此,我在故事板中手动添加了这些照片,如图所示:

您是否尝试创建比
ViewController
更长的
ScrollView
?@Buster ScrollView工作正常,正如您所见,我正在设置contentsize ScrollView.contentsize=CGSizeMake(pagesScrollViewSize.width*CGFloat(pageImages.count),pagesScrollViewSize.height)如果上面和下面都是透明区域,这对我来说就可以了。可以通过这样的方式缩放图像,即宽度等于scrollview宽度,且上方和下方为透明区域?如果您想完全适合纵向图像,则需要调整滚动视图的大小。如果您只想按宽度缩放,则需要裁剪图像