效果为:使用tableView创建视图,顶部禁止滑动,当前视图滑动到底部之后,则停止滑动。
scrollViewDidScroll此方法为UIScrollView的代理方法,若使用tableView则需要遵循其delegate
-(void)scrollViewDidScroll:(UIScrollView *)scrollView{
CGPoint offset = scrollView.contentOffset;//scrollview当前显示区域定点相对于frame顶点的偏移量
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) { // 滑到顶部
scrollView.contentOffset = CGPointMake(0, 0);
return;
}
if (currentOffset >= maximumOffset) { //滑到底部
CGPoint offset1 =CGPointMake(0,self.tableView.contentSize.height -self.tableView.frame.size.height);
scrollView.contentOffset = offset1;
return;
}
}
网友评论