UIScrollView笔记

Posted huahuahu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UIScrollView笔记相关的知识,希望对你有一定的参考价值。

  1. UIScrollView必须知道它的contentsize
    这就是为啥TableView的row的height必须被计算,即使那些row还没有出现在屏幕。

    The scroll view must know the size of the content view so it knows when to stop scrolling; by default, it “bounces” back when scrolling exceeds the bounds of the content

  2. 为了确定用户是在点击还是在滑动,UIScrollView自己维护了一个计时器,并记录手指的位置。如果计时器相应之前,还没有比较显著的移动,那么UIScrollView就发送触摸时间到相应的subview;否则就滑动自己。

  3. scrollsToTop
    当用户轻点状态栏时,系统会要求离状态栏近的scrollview把自己的内容滑到最上面。如果这个属性是false,就会忽略这个请求。

    On iPhone, the scroll-to-top gesture has no effect if there is more than one scroll view on-screen that has scrollsToTop set to true.

  4. 设置特定区域可见

  5. scrollRectToVisible(_ rect: CGRect, animated: Bool)
    
  6. 设置分页

    scrollView.pagingEnabled = true
    

    当停止滑动时,会停到scrollview的大小的整数倍
    技术分享

  7. 设置方向锁定。
    一般来说,scrollview可以在横向、纵向滑动。设定锁定以后,就只能在一个方向锁定了。在哪个方向锁定要看在哪个方向移动的距离大。

        scrollView.directionalLockEnabled = true
    

    技术分享

  8. Scroll Indicator

    就是滑动时出现的那条线

        scrollView.indicatorStyle = .Black
        scrollView.scrollIndicatorInsets = UIEdgeInsetsMake(0, 5, 10, 30)
        button.addTarget(self, action: #selector(ViewController.flashIndicator(_:)), forControlEvents: .TouchUpInside)
    
    func flashIndicator(sender:UIButton) -> Void {
        scrollView.flashScrollIndicators()
    }
    

    技术分享

  9. 和键盘的交互

    var keyboardDismissMode: UIScrollViewKeyboardDismissMode { get set 
    
    • none
    • onDrag:
      drag开始时就消失
    • interactive

      The keyboard follows the dragging touch offscreen, and can be pulled upward again to cancel the dismiss。

      技术分享

  10. UIScrollViewDelegate调用顺序

    • 滑动,然后放开
      scrollViewWillBeginDragging
      几次scrollViewDidScroll
      scrollViewWillEndDragging(_:withVelocity:targetContentOffset:)
      scrollViewDidEndDragging(_:willDecelerate:)
      scrollViewWillBeginDecelerating
      若干scrollViewDidScroll
      scrollViewDidEndDecelerating
    • 滑动,scrollview不动,然后放开
      scrollViewWillBeginDragging
      几次scrollViewDidScroll
      scrollViewWillEndDragging
      scrollViewDidEndDragging
  11. isDragging, isTracking

    • 滑动,然后放开
      scrollViewWillBeginDecelerating之后,istracking变为false
      scrollViewDidEndDecelerating之前,isdragging为true
    • 滑动,scrollview不动,然后放开
      isTrackiing一直是true isdragging在scrollViewWillEndDragging之前是true

以上是关于UIScrollView笔记的主要内容,如果未能解决你的问题,请参考以下文章

UIScrollView笔记

[原创]java WEB学习笔记61:Struts2学习之路--通用标签 property,uri,param,set,push,if-else,itertor,sort,date,a标签等(代码片段

代码笔记两个滚动条,上下都能滑动

sh bash片段 - 这些片段大多只是我自己的笔记;我找到了一些,有些我已经找到了

需要一种有效的方法来避免使用 Laravel 5 重复代码片段

Oracle-常用数据库对象笔记(片段)