Swift基础(二十五)UIPageControl

来源:互联网 发布:网络编程书籍 编辑:程序博客网 时间:2024/05/22 21:44
class RootViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        self.view.backgroundColor = UIColor.whiteColor()
        
        // UIPageControl
        // 分页控制器,提供一行点来指示总页数和当前页位置
        // 创建UIPageControl实例
        var pageControl: UIPageControl = UIPageControl(frame: CGRectMake(20, 540, 300, 40))
        // 添加到视图
        self.view.addSubview(pageControl)
        // 设置分页控制器总页数
        pageControl.numberOfPages = 3
        // 设置当前显示页位置
        pageControl.currentPage = 0;
        // 添加一个事件
        pageControl.addTarget(self, action: "pageTurn:", forControlEvents: UIControlEvents.ValueChanged)
    }
    // 实现事件方法
    func pageTurn(sender: AnyObject) {
        // 获取分页控制器
        let newPageCtl = sender as! UIPageControl
        // 获取分页控制器当前页
        let index = newPageCtl.currentPage
        // 设置ScrollView的x移动距离
//        mainScrollView.contentOffset = CGPointMake((Float)(300 * index), 0)
    }
    // 如果想实现ScrollView位置改变,也改变PAgeControl的Value值,只需要在ScrollView的协议方法中来判断
    /*
    func scrollViewDidEndDecelerating(scrollView: UIScrollView) {
        // 减速完毕,恢复到静止状态执行此方法
        // 获取scrollView视图滚动的x坐标
        let offX: CGFloat = scrollView.contentOffset.x
        // 计算当前是第几屏
        let index: Int = (Int)(offX / 300)
        // 设置分页指示器currentPage值
        UIPageControl.currentPage = index
    }
*/
}
0 0
原创粉丝点击