gpt4 book ai didi

ios - 将 pagecontroll 放在前面

转载 作者:行者123 更新时间:2023-11-30 11:56:45 26 4
gpt4 key购买 nike

我正在使用scrollview和pagecontroll来滚动某些内容。我使用了下面的代码,但我希望页面 Controller 的点显示在 View 上。我尝试将其放在所有 View 和 ScrollView 的前面,但它不起作用。

    class DummyVC: UIViewController, UIScrollViewDelegate {

let scrollView = UIScrollView(frame: CGRect(x:0, y:0, width:320,height: 300))
var colors:[UIColor] = [UIColor.red, UIColor.blue, UIColor.green, UIColor.yellow]
var frame: CGRect = CGRect(x:0, y:0, width:0, height:0)
var pageControl : UIPageControl = UIPageControl(frame: CGRect(x:50,y: 300, width:200, height:50))

override func viewDidLoad() {
super.viewDidLoad()

configurePageControl()

scrollView.delegate = self
scrollView.isPagingEnabled = true

self.view.addSubview(scrollView)
for index in 0..<4 {

frame.origin.x = self.scrollView.frame.size.width * CGFloat(index)
frame.size = self.scrollView.frame.size

let subView = UIView(frame: frame)
subView.backgroundColor = colors[index]
self.scrollView .addSubview(subView)
}

self.scrollView.contentSize = CGSize(width:self.scrollView.frame.size.width * 4,height: self.scrollView.frame.size.height)
pageControl.addTarget(self, action: #selector(self.changePage(sender:)), for: UIControlEvents.valueChanged)

}

func configurePageControl() {
// The total number of pages that are available is based on how many available colors we have.
self.pageControl.numberOfPages = colors.count
self.pageControl.currentPage = 0
self.pageControl.tintColor = UIColor.red
self.pageControl.pageIndicatorTintColor = UIColor.black
self.pageControl.currentPageIndicatorTintColor = UIColor.green
self.view.addSubview(pageControl)

}

// MARK : TO CHANGE WHILE CLICKING ON PAGE CONTROL
func changePage(sender: AnyObject) -> () {
let x = CGFloat(pageControl.currentPage) * scrollView.frame.size.width
scrollView.setContentOffset(CGPoint(x:x, y:0), animated: true)
}

func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {

let pageNumber = round(scrollView.contentOffset.x / scrollView.frame.size.width)
pageControl.currentPage = Int(pageNumber)
}

我想将图像添加到 ScrollView subview 中,并且我希望图像上显示点

最佳答案

viewDidLoad: configurePageControl() 中的该行代码移至范围底部。

关于ios - 将 pagecontroll 放在前面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47727121/

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