iOS 视差滚动效果(就像在 Yahoo News Digest 应用中一样)

标签 ios yahoo parallax

我想知道如何实现类似于 Yahoo News Digest 应用程序的视差滚动。其中,当用户水平滚动时,背景图像以不同的速度滚动,同时启用分页。

可能是他们使用带有背景 View 的 ScrollView 来做到这一点。不太确定。提示实现这种滚动会很棒。我检查过类似的问题,但找不到我要找的答案。

最佳答案

我以前用 2 个 ScrollView 做过这个。

你有主要的细节 ScrollView ,然后是它后面的视差 ScrollView (或者你想要的任何地方)。

然后你就成为了detail scrollview的delegate。

scrollView:didScroll 方法中,您可以调整视差 View 的滚动。

如果你只是做 x 轴那么你想要这样的东西......

CGFloat detailMaxOffset = self.detailScrollView.contentSize.width - CGRectGetWidth(self.scrollView.frame);

CGFloat percentage = self.detailScrollView.contentOffset.x / maxOffset;

CGFloat parallaxMaxOffset = self.parallaxScrollView.contentSize.width - CGRectGetWidth(self.parallaxScrollView.frame);

[self.parallaxScrollView setContentOffset:CGPointMake(percentage * parallaxOffset, 0);

这会将 ScrollView 内容偏移“百分比”设置为相同。

要获得视差效果,您只需使每个 ScrollView 的 contentSize 不同即可。

如果视差 ScrollView 的内容大小大于详细 ScrollView ,它将滚动得更快。如果内容较小,则滚动速度会较慢。

关于iOS 视差滚动效果(就像在 Yahoo News Digest 应用中一样),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24989923/

相关文章:

ios - UIView 子类未被释放

iphone - 通过 android 和 iPhone 应用程序集成 yahoo、Google 和 openid?

jquery - div滚动动画

javascript - 为移动设备禁用 javascript 视差效果

html - 如何在层次结构中让 DIV 位于其他 DIV 之下?

iOS 7 Core Image QR Code 生成太模糊

ios - 快速比较类(class)

ios - SWIFT - 上传文件到 icloud 文件没有完成

python - 使用 scrapy 抓取雅虎组的问题

python - 雅虎 OAuth API 拒绝我的访问 token 时间戳 (Python)