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, 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)
}
swift 分页视图的更多相关文章
- Swift - 分页菜单的实现(使用PagingMenuController库实现tab标签切换)
分页菜单(分段菜单)在许多 App 上都会用到.比如大多数新闻 App,如网易新闻.今日头条等,顶部都有个导航菜单.这个导航菜单是一组标签的集合,每个标签表示一个新闻类别,我们点击这个标签后下面就会切 ...
- mvc 分页视图 js 失效
MVC的分页视图确实是好东西,比ajax直观,可是联动后 之前绑定的js事件失效,所以我们在绑定的时候,要注意使用jquery的 动态绑定功能 最常见的用法应该是 select 的 change 事件 ...
- Django-RestFrameWork之分页 视图 路由 渲染器
目录 一.分页 二.视图 三.路由 四.渲染器 一.分页 试问如果当数据量特别大的时候,你是怎么解决分页的? 方式a.记录当前访问页数的数据id 方式b.最多显示120页等 方式c.只显示上一页,下一 ...
- Swift 表视图动画教程: Drop-In Cards
http://www.raywenderlich.com/76024/swift-table-view-animations-tutorial-drop-cards 标准 table view 是一个 ...
- Swift - 滚动视图(UIScrollView)的用法
1,当图片尺寸超过屏幕时,使用UIScrollView可以实现滚动条视图,即手指触摸滚动屏幕方便浏览整个页面. 1 2 3 4 5 6 var scrollView=UIScrollView() sc ...
- swift - 3D 视图,截图,关键字搜索
1.xib 上的 3D效果 按钮 2. import UIKit //1.导入框架 import MapKit class ViewController: UIViewController { @IB ...
- swift开源项目精选
Swift 开源项目精选-v1.0 2016-03-07 22:11 542人阅读 评论(0) 收藏 举报 分类: iOS(55) Swift(4) 目录(?)[+] 转自 http: ...
- Swift 开源项目精选
Swift 开源项目精选 站在个人的角度,并基于<Swift 语言指南>,针对开源项目做了一个甄别.筛选.当然,由于个人能力及涉足范围所限,还远远不够,其中肯定有偏颇及不足,还望同学们多多 ...
- Swift与OC区别
一.Swift与OC区别: 1.swift程序的入口是UIApplicationMain; 2.OC的类是以.h和.m组成的;swift是一.swift结尾的; 3.OC的类是以@interface和 ...
随机推荐
- 跟我学Makefile(三)
紧接着跟我学Makefile(二)继续学习:变量高级用法 (1)变量值的替换 :替换变量中的共有的部分,其格式是“$(var:a=b)”或是“${var:a=b}”,把变量“var”中所有以“a”字串 ...
- js cookie的读写
cookie是一小段信息,以键/值对的信息保存在计算机硬盘上的字符串, cookie存储容量大概在4kb,不同的浏览器厂家对cookie大小的限制有微微的差异:cookie主要的本质是“识别”,通过识 ...
- 4.3 Routing -- Generated Objects
就像在routing guide中介绍的那样,不管什么时候你在路由器中定义一个新路径,Ember.js就会尝试寻找一个对应的route,controller,template,它们的命名都是根据命名约 ...
- 文字和图片居中的HTML代码怎么写?
HTML 代码 ,怎么将文本/ 图片居中?这是在W3Cschool的编程问答中前端♌蕾儿提出的问题.网友施主同西否给出了详细的解答. html文字居中和html图片居中方法代码,通过在html中实现文 ...
- ZW网络团队及资源简介
ZW网络团队及资源简介 ZW网络推广团队,是国内首个教父级网络营销团队,自1997年以来,先后参与操盘多个重大互联网项目,服务过超过150家国际500强客户,是微软公司首家官方认证的网络公关服务商,新 ...
- bzoj1623 / P2909 [USACO08OPEN]牛的车Cow Cars
P2909 [USACO08OPEN]牛的车Cow Cars 显然的贪心. 按速度从小到大排序.然后找车最少的车道,查询是否能填充进去. #include<iostream> #inclu ...
- qq空间相册下载
qq空间相册下载 描述 目前功能只可以下载 单个相册 程序基本是3个独立分开的部分. 解析(某一用户)所有相册 解析(单个)相册所有图片地址并写文件 根据文件下载图片 目的 只要有权限可以访问到的相册 ...
- (转载)找圆算法((HoughCircles)总结与优化
Opencv内部提供了一个基于Hough变换理论的找圆算法,HoughCircle与一般的拟合圆算法比起来,各有优势:优势:HoughCircle对噪声点不怎么敏感,并且可以在同一个图中找出多个圆 ...
- 关于Drupal中使用hook_schema建立数据库报错PDOException: SQLSTATE[42000]的解决办法
报错信息如下:PDOException: SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too l ...
- Window 常用系统变量
转载:http://www.slyar.com/blog/envionment-variables.html 转载:http://blog.csdn.net/wuliusir/article/deta ...