滚动视图的重要属性及方法

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){
    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
}

你可能感兴趣的:(滚动视图的重要属性及方法)