use*_*567 1 uipagecontrol ios swift
我要添加一个UIPageController内部UICollectionViewCell。我创建了一个带有collectionViewCell内部的自定义笔尖文件。在单元格内,我添加了一个UIPageControl。
@IBOutlet weak var pageControl: UIPageControl!
override func awakeFromNib() {
super.awakeFromNib()
self.isUserInteractionEnabled = true
pageControl.isUserInteractionEnabled = true
self.backgroundColor = UIColor.darkGray
setupPageControl()
}
private func setupPageControl() {
pageControl.numberOfPages = 7
pageControl.translatesAutoresizingMaskIntoConstraints = false
pageControl.currentPageIndicatorTintColor = UIColor.orange
pageControl.pageIndicatorTintColor = UIColor.lightGray.withAlphaComponent(0.8)
}
Run Code Online (Sandbox Code Playgroud)
如何检测页面更改?圆点也位于视图的中间,是否可以将它们放在中间?
Wes*_*hua 10
您可以添加一个目标来检测 setupPageControl 函数上的值更改:
private func setupPageControl() {
pageControl.numberOfPages = 7
pageControl.translatesAutoresizingMaskIntoConstraints = false
pageControl.currentPageIndicatorTintColor = UIColor.orange
pageControl.pageIndicatorTintColor = UIColor.lightGray.withAlphaComponent(0.8)
pageControl.addTarget(self, action: #selector(pageControlHandle), for: .valueChanged)
}
Run Code Online (Sandbox Code Playgroud)
创建一个选择器来更改您想要的值:
@objc private func pageControlHandle(sender: UIPageControl){
print(sender.currentPage)
}
Run Code Online (Sandbox Code Playgroud)
当用户点击页面控件以移至下一页或上一页时,该控件将发送valueChanged事件供委托处理。然后,委托可以评估currentPage属性以确定要显示的页面。页面控件只能向任一方向前进一页。当前查看的页面用白点表示。根据设备的不同,在剪切之前,屏幕上会显示一定数量的点。
你也可以用
func scrollViewDidEndDecelerating(scrollView: UIScrollView) {
let pageNumber = round(scrollView.contentOffset.x / scrollView.frame.size.width)
pageControl.currentPage = Int(pageNumber)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2181 次 |
| 最近记录: |