图片未在滚动视图中显示(仅代码,没有情节提要)

时间:2019-02-22 21:44:49

标签: ios swift uicollectionview

What I want to create我四处搜寻,没有任何答案。首先,我不使用情节提要(找到与我的问题有关的非常简单的解决方案)

我正在使用UIscrollview和Pagecontrol来创建类似这样的内容,以便尽可能清晰。

当我加载我的应用程序时,会显示uiscrollview和页面面板(设置为黑色),因此正常约束没有错。

但是,我无法加载图像,也看不到圆形小按钮显示我在哪个“页面”上。

这是与此有关的最重要的代码:

class ViewController: UIViewController, UIScrollViewDelegate {
var images: [String] = ["0.jpg", "1.jpg"]
var frame = CGRect(x: 0, y: 0, width: 0, height: 0)

 lazy var scrollView: UIScrollView = {
    let scroll = UIScrollView()
    scroll.backgroundColor = UIColor.black
    scroll.translatesAutoresizingMaskIntoConstraints = false
    scroll.layer.cornerRadius = 30
    return scroll

}()

lazy var pageControl: UIPageControl = {
    let page = UIPageControl()
    page.backgroundColor = UIColor.black
    page.translatesAutoresizingMaskIntoConstraints = false
    return page
}()

方法:

func testScroll() {
    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
}

func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
    var pageNumber = scrollView.contentOffset.x / scrollView.frame.size.width
    pageControl.currentPage = Int(pageNumber)
}

1 个答案:

答案 0 :(得分:0)

会不会过早致电testScroll()scrollView的框架为(0, 0, 0, 0)。相同的方法适用于其所有图像。那也可以解释您的页面控件。

一旦计算了所有子视图的帧,就会触发

viewDidLayoutSubviews()。那将是一个呼叫testScroll()的地方。