Mic*_*Mic 12 objective-c uiscrollview uiscrollviewdelegate ios
在UIScrollview中水平滚动时,如果我在同一方向快速滑动两次,滚动视图会猛烈跳跃.反正有没有阻止这种情况发生?为了详细解释,这里是一个来自scrollview的事件日志,在大多数委托方法中我只打印x坐标.
scrollViewWillBeginDragging:
    14:55:12.034 Will begin dragging!
    14:55:12.037 - Position -0.000000
scrollViewWillBeginDeceleration:
    14:55:12.129 Deceleration rate 0.998000
    14:55:12.152 + Position 314.000000
scrollViewWillBeginDragging:
    14:55:12.500 Will begin dragging!
    14:55:12.522 - Position 1211.000000
scrollViewWillBeginDeceleration:
    14:55:12.530 Deceleration rate 0.998000
    14:55:12.533 + Position 1389.000000
scrollViewDidScroll: (printing values < 0 && > 6000 (bounds.size.width)
    14:55:12.595 !!! Position 7819.000000
    14:55:12.628 !!! Position 9643.000000
    14:55:12.658 !!! Position 10213.000000
    14:55:12.688 !!! Position 10121.000000
    14:55:12.716 !!! Position 9930.000000
    ... contentoffset.x drops with around 400 each scrollviewdidscroll call ...
    14:55:13.049 !!! Position 6508.000000
scrollViewDidEndDecelerating:
    14:55:13.753 Will end deceleration
    14:55:13.761 * Position 6144.000000
日志中最值得注意的事情就是在scrollViewWillBeginDeceleration之后,当contentoffset.x在几毫秒内跳过~6000点时.
履行
uiscrollview和uiscrollviewdelegate属于同一个类,uiscrollview的子类也实现了uiscrollviewdelegate协议,对contentoffset没有什么特别之处,并且在scrollview上设置的唯一属性是:
    self.showsHorizontalScrollIndicator = YES;
    self.scrollsToTop = NO;
    self.delegate = self;
scrollview子视图在uiviewcontroller中的viewwillappear调用中添加一次,该uiviewcontroller承载uiscrollview(并且相应地设置了contentSize).滚动,等待一会儿,再次滚动效果很好.
| 归档时间: | 
 | 
| 查看次数: | 2171 次 | 
| 最近记录: |