【问题标题】:bring pagecontroll on front将 pagecontroll 放在前面
【发布时间】:2018-05-23 10:52:05
【问题描述】:

我正在使用 scrollview 和 pagecontroll 来滚动某些东西。我使用了下面的代码,但我希望页面控制器的点显示在视图上。我试图将它带到所有视图和滚动视图的前面,但它不起作用。

    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)
}

我想将图像添加到滚动视图子视图中,并且我希望图像上显示点

【问题讨论】:

    标签: ios swift uiscrollview uipagecontrol


    【解决方案1】:

    viewDidLoad:configurePageControl() 中的那行代码移到作用域的底部。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-20
      • 1970-01-01
      • 2013-09-26
      • 2011-07-02
      • 1970-01-01
      • 2022-06-28
      • 1970-01-01
      • 2013-10-09
      相关资源
      最近更新 更多