gpt4 book ai didi

ios - 图像未在 ScrollView 中显示(仅代码,无 Storyboard)

转载 作者:行者123 更新时间:2023-11-29 05:59:22 25 4
gpt4 key购买 nike

What I want to create我自己四处寻找,没有任何答案。首先,我没有使用 Storyboard(针对我的问题找到了非常简单的解决方案)

我使用 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)
}

最佳答案

是否会太早调用 testScroll()scrollView 的框架将为 (0, 0, 0, 0)。这同样适用于它的所有图像。这也可以解释您的页面控件。

一旦计算完所有 subview 的帧,就会触发

viewDidLayoutSubviews() 。那将是调用 testScroll() 的地方。

关于ios - 图像未在 ScrollView 中显示(仅代码,无 Storyboard),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54835606/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com