gpt4 book ai didi

ios - 允许 UIScrollView 滚动过去的内容而不弹跳

转载 作者:行者123 更新时间:2023-11-29 10:41:22 29 4
gpt4 key购买 nike

概览

我正在构建一个应用程序,它允许用户将主 UICollectionView 滚动一定量以加载相关内容。滚动的触觉体验应该与许多其他 iOS 应用程序一样,会导致当前页面上的内容刷新,因此我设置了 collectionView.bounce = YES

一旦用户过度滚动指定的量,我想将当前的 UICollectionView 向下移动到 View 之外,同时将新页面向下移动到设备顶部的 View 中,非常相似到 Digg iPhone 应用程序中的文章间导航。

我正在使用此 UIScrollViewDelegate 方法检测过度滚动:

-(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
{
CGFloat offsetY = scrollView.contentOffset.y;
CGFloat contentHeight = scrollView.contentSize.height;

if (offsetY < -40){
[self.delegate overscrolledUp];
}

if (offsetY - (contentHeight - scrollView.frame.size.height) > 40){
[self.delegate overscrolledDown];
}
}

问题

委托(delegate)负责移动这些 UICollectionView 的框架,但我的问题是当前页面向下移动并移出 View (如果用户过度滚动,则向上移动并移出 View )向下),UICollectionView 也将滚动弹回到 (0,0) 的 contentOffset。这会产生一个我想避免的看起来很奇怪的动画。我希望用户能够过度滚动,以便显示一个指示器来描述他们可以看到的新内容,但我不希望在页面更改动画期间反转过度滚动。

问题

有没有办法阻止 UICollectionView/UIScrollView 在用户滚动内容后将其滚动返回到 (0,0)?

最佳答案

看看

https://github.com/enormego/EGOTableViewPullRefresh

它包含一个用于刷新 tableview 的代码,您可以直接使用它或作为灵感的来源。

关于ios - 允许 UIScrollView 滚动过去的内容而不弹跳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24394321/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com