Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.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_Uiimageview_Ios Autolayout_Uipagecontrol - Fatal编程技术网

Swift 使用UIScrollView和自动布局的图像滑块

Swift 使用UIScrollView和自动布局的图像滑块,swift,uiscrollview,uiimageview,ios-autolayout,uipagecontrol,Swift,Uiscrollview,Uiimageview,Ios Autolayout,Uipagecontrol,我正在尝试使用scrollView和pageControl实现一个图像滑块,并使用.addSubView方法以编程方式将图像附加到scrollView。代码如下: @IBOutlet weak var sliderScrollView: UIScrollView! @IBOutlet weak var sliderPageControl: UIPageControl! var images: [String] = ["0", "1", "2"] func updateSlider() {

我正在尝试使用scrollView和pageControl实现一个图像滑块,并使用.addSubView方法以编程方式将图像附加到scrollView。代码如下:

@IBOutlet weak var sliderScrollView: UIScrollView!
@IBOutlet weak var sliderPageControl: UIPageControl!
var images: [String] = ["0", "1", "2"]

func updateSlider() {
        sliderPageControl.numberOfPages = images.count

        for index in 0..<images.count {
            frame.origin.x = sliderScrollView.frame.size.width * CGFloat(index)
            print(sliderScrollView.frame.size.width)
            frame.size = sliderScrollView.frame.size

            let image = UIImageView(frame: frame)
            image.contentMode = .scaleAspectFill
            image.image = UIImage(named: cafeObject.images[index])
            sliderScrollView.addSubview(image)
        }
        sliderScrollView.contentSize = CGSize(width: sliderScrollView.frame.size.width * CGFloat(cafeObject.images.count), height: sliderScrollView.frame.size.height)
        sliderScrollView.delegate = self
        sliderPageControl.currentPage = 0
}

override func scrollViewDidScroll(_ scrollView: UIScrollView) {
    let pageNumber = scrollView.contentOffset.x / scrollView.frame.size.width

    switch scrollView {
    case sliderScrollView:
        sliderPageControl.currentPage = Int(pageNumber)
    default:
        break
    }
}
@ibvar-sliderScrollView:UIScrollView!
@IBVAR sliderPageControl:UIPageControl!
变量图像:[字符串]=[“0”、“1”、“2”]
func updateSlider(){
sliderPageControl.numberOfPages=images.count

对于0中的索引。好的,我通过将updateSlider()函数放在
viewdilayoutsubviews()下来解决这个问题。