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, width: 0, height: 200))

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

scrollView.contentSize = CGSize(width: 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, width: widthm, height: 200)

scrollView.addSubview(imgView)

}

view.autoresizesSubviews = false

view.addSubview(scrollView)

// 实例化分页控制器

pageCtrl = UIPageControl(frame: CGRect(x: 0, y: 200 - 20, width: 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)

}

最新文章

  1. 转:聊聊mavenCenter和JCenter
  2. SpirentTestcenter测试仪的自动化
  3. Java 线程 — ConcurrentHashMap
  4. Progressive Scanning (逐行扫描) vs Interlaced Scanning (隔行扫描)
  5. PHP 每天的总结(1)
  6. Cocos2d-x3.x塔防游戏(保卫萝卜)从零开始(二)
  7. 最小生成树Kruskal算法(邻接矩阵和邻接表)
  8. 怎样让js循环重复执行过程
  9. django view使用学习记录
  10. C语言中strdup函数使用方法
  11. 【面向打野编程】——KMP算法入门
  12. java引用类型
  13. abstract的方法是否可同时是static 是否可同时是native 是否可同时
  14. openwrt看IP流量
  15. 习题9-6 uva 10723
  16. 【XSY3126】异或II 数学
  17. 简单网络管理协议(SNMP)
  18. CDNI - RFC7336翻译
  19. Sql Server索引重建
  20. Visualbox在UEFI模式下无法正常引导

热门文章

  1. DataFrames与RDDs的相互转换
  2. Spark的Java API例子详解
  3. hdu1286(找新朋友)&&POJ2407Relatives(欧拉函数模版题)
  4. ReactNative生成android平台的bundle文件命令
  5. 20145302张薇《网络对抗技术》PC平台逆向破解
  6. uboot 版本号生成过程
  7. IDEA类和方法注释模板设置
  8. ubuntu18.04系统安装+基本环境配置【原创】
  9. python应用-掷骰子模拟-pygal
  10. Gym - 101334C 3514 无向仙人掌