图像不适合UIScrollView

时间:2018-10-08 17:03:40

标签: ios swift uiscrollview uiimageview

class ViewController: UIViewController, UIScrollViewDelegate, UICollectionViewDelegate, UICollectionViewDataSource {
    @IBOutlet weak var pageControl: UIPageControl!
    @IBOutlet weak var scrollView: UIScrollView!

    var images: [String] = ["promotion test 1", "promotion test 2", "promotion test 3", "promotion test 4", "promotion test 5", "promotion test 6"]
    var frame = CGRect(x: 0, y: 0, width: 0, height: 0)
}


pageControl.numberOfPages = images.count
for index in 0..<images.count {
    frame.origin.x = scrollView.frame.size.width * CGFloat(index)
    frame.size = scrollView.frame.size

    let imgView = UIImageView(frame: frame)
    imgView.image = UIImage(named: images[index])
    self.scrollView.addSubview(imgView)
}
scrollView.contentSize = CGSize(width: (scrollView.frame.size.width * CGFloat(images.count)), height: scrollView.frame.size.height)
scrollView.delegate = self

This is a screenshot of my problem

图像小于滚动视图。因此,当我看到滚动视图的第一页时,也可以在下一个滚动视图中看到图像的某些部分。我不知道要在我的代码中进行哪些更改。你能告诉我我应该改变什么吗?

1 个答案:

答案 0 :(得分:0)

问题是您引用了诸如scrollView.frame之类的值。如果在尚不知道滚动视图的帧的情况下执行此操作(例如,在viewDidLoad中),将会得到错误的答案。将代码推迟到知道滚动视图的框架 的时间。

(也许更好,也许就是删除所有代码并改为使用UIPageViewController。它可以自动完成您在此处所做的所有操作,并且可能比您手动完成的要好得多。 “。)