zoukankan      html  css  js  c++  java
  • swift 分页视图

    var data:NSArray!

        

        var scrollView: UIScrollView!

        

        var pageCtrl: UIPageControl!

        

        override func viewDidLoad() {

            super.viewDidLoad()

            

            // 实例化tableView

            let tableView:UITableView = UITableView(frame: self.view.bounds, style: UITableViewStyle.Plain)

            tableView.delegate = self

            tableView.dataSource = self

            tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "cell")

            self.view.addSubview(tableView)

            

            // 系统字体

            data = UIFont.familyNames()

            

            // 实例化scrollView

            let widthm = tableView.frame.size.width

            let view: UIView = UIView(frame: CGRect(x: 0, y: 0, 0, height: 200))

            scrollView = UIScrollView(frame: CGRect(x: 0, y: 0, widthm, height: 200))

            scrollView.contentSize = CGSize( widthm * 5, height: 200)

            scrollView.showsHorizontalScrollIndicator = false

            scrollView.showsVerticalScrollIndicator = false

            scrollView.pagingEnabled = true

            scrollView.delegate = self

            for index in 1...5 {

                let imgName = "image(index).jpg"

                let imgView: UIImageView = UIImageView(image: UIImage(named: imgName))

                imgView.frame = CGRect(x: widthm * CGFloat(index - 1), y: 0, widthm, height: 200)

                scrollView.addSubview(imgView)

            }

            view.autoresizesSubviews = false

            view.addSubview(scrollView)

            

            // 实例化分页控制器

            pageCtrl = UIPageControl(frame: CGRect(x: 0, y: 200 - 20, widthm, height: 20))

            pageCtrl.addTarget(self, action: Selector("pageCtrlAction:"), forControlEvents: UIControlEvents.ValueChanged)

            pageCtrl.numberOfPages = 5

            pageCtrl.currentPage = 0

            view.addSubview(pageCtrl)

            

            tableView.tableHeaderView = view

            

        }

        

        //MARK: UITableViewDataSource

        func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

            return data.count

        }

        

        func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

            let tableViewCell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as UITableViewCell

            

            tableViewCell.textLabel?.text = self.data[indexPath.row] as? String

            

            return tableViewCell

        }

        

        //MARK: UIScrollViewDelegate

        func scrollViewDidEndDecelerating(scrollView: UIScrollView) {

            if scrollView == self.scrollView {

                pageCtrl.currentPage = Int(scrollView.contentOffset.x/scrollView.frame.size.width)

            }

        }

        //MARK: pageCtrl Action

        func pageCtrlAction(pageCtrl: UIPageControl) {

    //        scrollView.contentOffset.x = scrollView.frame.width * CGFloat(pageCtrl.currentPage)

            scrollView.setContentOffset(CGPoint(x: scrollView.frame.width * CGFloat(pageCtrl.currentPage), y: 0), animated: true)

        }

  • 相关阅读:
    竞赛生每日一题(212) 徐康华竞赛优学
    利用python爬取特定类别图片---labelimg制作自己的目标检测数据集
    Labview各版本及开发工具模块下载
    Windows安装tensorflow经验总结(尤其安装GPU版本的细看)
    opencv与labview的结合(升级版:彩色图像的传输)
    opencv与Labview的结合(Dll调用)
    QT如何重写控件内部的函数 ——趣味小程序(按钮随机移动,鼠标无法点击)
    QT多个窗体切换显示
    QT实现鼠标操作事件(获得鼠标的坐标和间值)
    VS/C++/win10/opencv 神经网络数字识别
  • 原文地址:https://www.cnblogs.com/ZGSmile/p/5726452.html
Copyright © 2011-2022 走看看