iOS

iOS-UIScrollView一些代理方法总结

2017-08-23  本文已影响20人  Simple_Code
// 返回一个放大或者缩小的视图
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{

}
// 开始放大或者缩小
- (void)scrollViewWillBeginZooming:(UIScrollView *)scrollView withView:
(UIView *)view
{

}

// 缩放结束时
- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(float)scale
{

}

// 视图已经放大或缩小
- (void)scrollViewDidZoom:(UIScrollView *)scrollView
{
NSLog(@"scrollViewDidScrollToTop");
}
 */

// 是否支持滑动至顶部
- (BOOL)scrollViewShouldScrollToTop:(UIScrollView *)scrollView
{
    return YES;
}

// 滑动到顶部时调用该方法
- (void)scrollViewDidScrollToTop:(UIScrollView *)scrollView
{
    NSLog(@"scrollViewDidScrollToTop");
}

// scrollView 已经滑动
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{

//常用一般是这个,比如浏览淘宝的时候,
//有个回到顶部按钮,向上滑动按钮隐藏,
//向下滑动则显示,就是调用了这个方法
    NSLog(@"scrollViewDidScroll");
}

// scrollView 开始拖动
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
    NSLog(@"scrollViewWillBeginDragging");
}

// scrollView 结束拖动
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
{
    NSLog(@"scrollViewDidEndDragging");
}

// scrollView 开始减速(以下两个方法注意与以上两个方法加以区别)
- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView
{
    NSLog(@"scrollViewWillBeginDecelerating");
}

// scrollview 减速停止
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
   NSLog(@"scrollViewDidEndDecelerating"); 
}

Tip:判断uiscrollview是向上滚动还是向下滚动

// 25 可以是任意数字,可根据自己的需要来设定。
int _lastPosition;    //A variable define in headfile  

- (void)scrollViewDidScroll:(UIScrollView *)scrollView{  
    int currentPostion = scrollView.contentOffset.y;  
    if (currentPostion - _lastPosition > 25) {  
        _lastPosition = currentPostion;  
        NSLog(@"ScrollUp now");  
    }  
    else if (_lastPosition - currentPostion > 25)  
    {  
        _lastPosition = currentPostion;  
        NSLog(@"ScrollDown now");  
    }  
}

上一篇下一篇

猜你喜欢

热点阅读