2017-12-09 7 views
0

私は何かをスクロールするためにscrollviewとpagecontrollを使用しています。私は以下のコードを使用しましたが、私はpagecontrollerのドットをviewsに表示したいと思います。私はすべてのビューと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) 
} 

私はscrollviewsのsubviwesに画像を追加したいと私はviewDidLoadで画像に

答えて

0

移動コード行を示すドットが欲しい:configurePageControl()の範囲の底に。

関連する問題