[分享]iOS开发-限制scrollview(包括tableView)滑到顶点或底部后的滑动

本文介绍如何通过UIScrollViewDelegate协议实现UIScrollView滑动状态监测,包括滑动到顶部和底部时的处理方式。

1.使用代理

<UIScrollViewDelegate>

2.将代理目标设为self(UITableView不需要这一部,因为UITableView本身就继承于UIScrollView)

self.scrollView.delegate = self;

3.

#pragma mark -
#pragma mark - UIScrollView Delegate
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    CGPoint offset = scrollView.contentOffset;//scrollview当前显示区域定点相对于fram顶点的偏移量
    CGRect bounds = scrollView.bounds;//原点
    CGSize size = scrollView.contentSize;//scrollview可以滚动的区域
    UIEdgeInsets inset = scrollView.contentInset;//scrollview的contentview的顶点相对于scrollview的位置
    CGFloat currentOffset = offset.y + bounds.size.height - inset.bottom;
    CGFloat maximumOffset = size.height;
    //currentOffset与maximumOffset的值相等时,说明scrollview已经滑到底部了,即偏移量达到最大值
    if (offset.y <= 0) {
        DLog(@"滑到顶部");
        scrollView.contentOffset = CGPointMake(0, 0);
        return;
    }
    if (currentOffset >= maximumOffset) {
        DLog(@"滑到底部");
//        scrollView.contentOffset = CGPointMake(0, bounds.size.height - offset.y);
//        return;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值