2017-08-09 113 views
0

我想在UICollectionViewCell中添加一個UIPageController。我用裏面的一個collectionViewCell創建了一個自定義的nib文件。在單元格內添加了一個UIPageControl。檢測UIPageControl頁面變化

@IBOutlet weak var pageControl: UIPageControl! 

    override func awakeFromNib() { 
     super.awakeFromNib() 

     self.isUserInteractionEnabled = true 
     pageControl.isUserInteractionEnabled = true 
     self.backgroundColor = UIColor.darkGray 
     setupPageControl() 
    } 

私人FUNC setupPageControl(){

pageControl.numberOfPages = 7 
    pageControl.translatesAutoresizingMaskIntoConstraints = false 
    pageControl.currentPageIndicatorTintColor = UIColor.orange 
    pageControl.pageIndicatorTintColor = UIColor.lightGray.withAlphaComponent(0.8) 
} 

我怎樣才能檢測網頁的變化?此外,這些點在視圖的中間,是否有可能將它們放在中間?

enter image description here

回答

2

enter image description hereApple Documentation

當用戶點擊一個頁面控制,以移動到下一個或前一頁, 控制發送ValueChanged事件由 委託處理。然後代表可以評估currentPage屬性爲 確定要顯示的頁面。頁面控件只向任一方向前進一頁 。當前查看的頁面用白色 點表示。根據設備的不同,在裁剪之前屏幕上會顯示一定數量的點 。你

也可以使用

func scrollViewDidEndDecelerating(scrollView: UIScrollView) { 
    let pageNumber = round(scrollView.contentOffset.x/scrollView.frame.size.width) 
    pageControl.currentPage = Int(pageNumber) 
} 
+0

我會嘗試你的解決方案後謝謝。但有人寫道,改變發生在貼上控制器,實際上在我的解決方案中,無法滑動到下一個視圖。這是正常的嗎?我應該使用uipageviewcontroller,然後把uiviewcontrole,而不是將uiviewcontrol直接放在collectionviewcell上? – user567