Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 以编程方式将视图水平添加到UIScrollView_Swift_Uiscrollview_Constraints - Fatal编程技术网

Swift 以编程方式将视图水平添加到UIScrollView

Swift 以编程方式将视图水平添加到UIScrollView,swift,uiscrollview,constraints,Swift,Uiscrollview,Constraints,我正在尝试将三个相同的ImageView堆叠在一起。图像比屏幕大,我希望能够向右滚动,看到图像重复三次,如果我到了最后。这些视图一直叠在一起,而不是挨在一起。我不知道我做错了什么。任何帮助都将不胜感激 这是我的密码: func stackThreeImagesHorizontallyToScrollView(imageToStack :UIImage, scrollView: UIScrollView){ var previousAnchor = scrollVi

我正在尝试将三个相同的ImageView堆叠在一起。图像比屏幕大,我希望能够向右滚动,看到图像重复三次,如果我到了最后。这些视图一直叠在一起,而不是挨在一起。我不知道我做错了什么。任何帮助都将不胜感激

这是我的密码:

func stackThreeImagesHorizontallyToScrollView(imageToStack :UIImage, scrollView: UIScrollView){
           
    var previousAnchor = scrollView.contentLayoutGuide.leadingAnchor

    for i in 0 ..< 3 {
        let imageViewToStack = UIImageView(image: imageToStack)
        
        switch i {
                    case 0:
                        imageViewToStack.backgroundColor = UIColor.green
                        break
                    case 1:
                        imageViewToStack.backgroundColor = UIColor.purple
                        break
                    case 2:
                        imageViewToStack.backgroundColor = UIColor.yellow
                        break

                    default: break

                    }
        
        scrollView.addSubview(imageViewToStack)

        NSLayoutConstraint.activate([
            imageViewToStack.leadingAnchor.constraint(equalTo: previousAnchor, constant: 0),
            imageViewToStack.heightAnchor.constraint(equalToConstant: imageToStack.size.height),
            imageViewToStack.widthAnchor.constraint(equalToConstant: imageToStack.size.width),
            imageViewToStack.topAnchor.constraint(equalTo: scrollView.topAnchor, constant: 0),
            imageViewToStack.bottomAnchor.constraint(equalTo: scrollView.bottomAnchor, constant: 0),
            imageViewToStack.trailingAnchor.constraint(equalTo: imageViewToStack.leadingAnchor, constant: imageToStack.size.width)
        ])
        
        previousAnchor = imageViewToStack.trailingAnchor
    }
    
    previousAnchor.constraint(equalTo: scrollView.trailingAnchor, constant: 0).isActive = true
    
}
func stackThreeImagesHorizontallyToScrollView(imageToStack:UIImage,scrollView:UIScrollView){
var previousAnchor=scrollView.contentLayoutGuide.leadingAnchor
对于0..<3中的i{
让imageViewToStack=UIImageView(图像:imageToStack)
开关i{
案例0:
imageViewToStack.backgroundColor=UIColor.green
打破
案例1:
imageViewToStack.backgroundColor=UIColor.purple
打破
案例2:
imageViewToStack.backgroundColor=UIColor.yellow
打破
默认值:中断
}
scrollView.addSubview(imageViewToStack)
NSLayoutConstraint.activate([
imageViewToStack.leadingAnchor.constraint(等式:previousAnchor,常量:0),
imageViewToStack.heightAnchor.constraint(相等常量:imageToStack.size.height),
imageViewToStack.widthAnchor.constraint(相等常量:imageToStack.size.width),
imageViewToStack.topAnchor.constraint(等式:scrollView.topAnchor,常量:0),
imageViewToStack.bottomAnchor.constraint(等式:scrollView.bottomAnchor,常量:0),
imageViewToStack.trailingAnchor.constraint(等式:imageViewToStack.leadingAnchor,常量:imageToStack.size.width)
])
previousAnchor=imageViewToStack.trailingAnchor
}
previousAnchor.constraint(equalTo:scrollView.trailingAnchor,常量:0)。isActive=true
}

您忘记将
imageViewToStack
translatesAutoResizengmaskintoConstraints
属性设置为
false

func stackThreeImagesHorizontallyToScrollView(imageToStack:UIImage,scrollView:UIScrollView){
var previousAnchor=scrollView.contentLayoutGuide.leadingAnchor
对于0..<3中的i{
让imageViewToStack=UIImageView(图像:imageToStack)
///添加这一行
imageViewToStack.TranslatesAutoResizengMaskinToConstraints=false
开关i{
案例0:
imageViewToStack.backgroundColor=UIColor.green
打破
案例1:
imageViewToStack.backgroundColor=UIColor.purple
打破
案例2:
imageViewToStack.backgroundColor=UIColor.yellow
打破
默认值:中断
}
scrollView.addSubview(imageViewToStack)
NSLayoutConstraint.activate([
imageViewToStack.leadingAnchor.constraint(等式:previousAnchor,常量:0),
imageViewToStack.heightAnchor.constraint(相等常量:imageToStack.size.height),
imageViewToStack.widthAnchor.constraint(相等常量:imageToStack.size.width),
imageViewToStack.topAnchor.constraint(等式:scrollView.topAnchor,常量:0),
imageViewToStack.bottomAnchor.constraint(等式:scrollView.bottomAnchor,常量:0),
imageViewToStack.trailingAnchor.constraint(等式:imageViewToStack.leadingAnchor,常量:imageToStack.size.width)
])
previousAnchor=imageViewToStack.trailingAnchor
}
previousAnchor.constraint(equalTo:scrollView.trailingAnchor,常量:0)。isActive=true
}