scrollView的基本属性和方法
核心属性
- 1.scrollView的内容大小
== contentSize==
- 2.内容的偏移量
== contentOFSet==
- 3.内容和scrollView上左下右的边距
== contentInset==
- 4.设置当向一个方向滚动的时候,是否锁住向另一个方向的滚动(默认是false)
== directionLockEnabled==
- 5.设置是否有反弹效果(默认是true)
== bounces==
- 6.设置是否可以分页(默认是false -> 每次滚动的距离就是滑动的距离;true -> 每次滚动scrollView的frame的距离)
== pagingEnabled==
- 7.设置是否可以滚动
== scrollEnabled==
- 8.设置是否显示滚动条
== showsVerticalScrollIndicator== //水平方向
== showsHorisontalScrollIndicator== //垂直方向
- 9.设置滚动条到scrollView的边距(只有下和右起作用)
== scrollIndicatorInsets==
- 10.设置滚动条的风格
== indicatorStyle==
- 11.设置点击状态栏时是否可以自动滚动到顶部(默认是true)
== scrollsToTop==
- 12.缩放相关(默认都是1)
- 12.1设置最大缩放倍数
== maximumZoomScale==
- 12.2设置最小缩放倍数
== minimumZoomScale==
- 13.让scrollView滚动到指定范围
== scrollRectToVisible==
- 14.代理属性
协议方法
//========滚动相关=======
//!!!1.在滚动视图滚动的时候实时调用
func scrollViewDidScroll(scrollView: UIScrollView){
print("正在滚动")
}
//!!!2.将要开始拖动scrollView的时候会调用这个方法(将要开始滚动的时候)
func scrollViewWillBeginDragging(scrollView: UIScrollView){
print("将要开始拖动")
}
//!!!4.已经结束减速的时候调用(已经停止滚动)
func scrollViewDidEndDecelerating(scrollView: UIScrollView){
print("已经停止滚动")
}
//3.将要停止拖动的时候会调用这个方法
//参数2:停止时在x和y方向的加速度
//参数3:预测停止滚动时的偏移量
func scrollViewWillEndDragging(scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>){
print(velocity)
print("将要停止拖动")
}
//5.已经停止拖动的时候会调用这个方法
//参数2:是否将要减速
func scrollViewDidEndDragging(scrollView: UIScrollView, willDecelerate decelerate: Bool){
if decelerate {
print("会减速")
}else{
print("不会减速")
}
print("已经停止拖动")
}
//6.停止滚动动画的时候调用(当通过带动画的效果设置偏移量的时候才会有效)
//scrollView.setContentOffset(CGPointMake(200, 200), animated: true)
//通过手拖动让scrollView滚动和这个方法没有任何关系
func scrollViewDidEndScrollingAnimation(scrollView: UIScrollView){
print("停止动画")
}
//7.已经滚动到顶部的时候会调用这个方法(点状态栏回到顶部的时候才有效)
func scrollViewDidScrollToTop(scrollView: UIScrollView){
print("滚动到顶部")
}
//=======缩放相关======
//告诉scrollView缩放对象(对哪个视图进行缩放,一般是对scrollView上imageView进行缩放)
func viewForZoomingInScrollView(scrollView: UIScrollView) -> UIView?{
//拿到imageView
return scrollView.viewWithTag(100)
}
//正在缩放的时候,会实时的调用这个方法
func scrollViewDidZoom(scrollView: UIScrollView){
print("正在缩放")
}
PageControl
核心属性
- 设置总页数
== numberOfPage==
- 设置当前页
== currentPage==
- 设置小圆点颜色
== pageIndicatorTintColor== //普通圆点颜色
== currentPageIndicatorTintColor== //当前圆点颜色
- 添加事件
== addTarge== // 第三个参数通常为ValueChanged
tableView
核心属性及方法
- 设置分割线
== separatorColor==
== separatorInset==
== sepatatorStyle==
- 设置header
== tableHeaderView==
- 设置headerView高度
== sectionHeaderHeight==
- 设置Footer
== tableFooterView==
- 设置FooterView高度
== tableFooterView==
- 设置背景图片
== backgroundView==
cell核心属性
- 设置cell主标题
== textLable.text==
- 设置cell内容(副标题)
== detailTextLable.text==
- 设置cell左边的imageView
== cell.imageView.imge==
- cell右边按钮样式
== axxessoryType==//通常设置为箭头形式:== .DisclusureIndicator==
- 设置cell背景颜色
== backgroundColor==
- 设置cell被选中的时候的样式
== selectionStyle==
代理方法
//滚动的时候实时调用
func scrollViewDidScroll(scrollView: UIScrollView) {
}
//cell被选中
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
}
//设置cell高度
func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
}
// 每个组上面部分空白的高度
func tableView(tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
}
//每个组下面部分的高度
func tableView(tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
}
数据源方法
//设置分组数
func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 分组数
}
//设置每组的cell个数
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int{
return 每组的cell个数
}
//创建cell
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell{
//固定写法
//第一步,在复用池中查看有没有符合要求的cell
var cell = tableView.dequeueReusableCellWithIdentifier("cell")
//如果没有,就创建一个cell,并且给cell一个标识符,以便用于下一次在复用池中查找
if cell == nil {
cell = UITableViewCell.init(style: .Subtitle, reuseIdentifier: "cell")
}
//设置cell属性和样式
==code==
return cell!
}
//设置每个组的标题
func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
let a = "✰"
let str = "\(a)abcdefghijklmnopqrstuvwxyz"
let c = str.characters[str.startIndex.advancedBy(section)]
return "\(c)"
}
//设置右边用于定位的字母
func sectionIndexTitlesForTableView(tableView: UITableView) -> [String]? {
var strArray: [String] = []
strArray = ["A", "B", "C", "D", "E","F", "G", "H"..."z"]
return strArray
}
网友评论