gpt4 book ai didi

ios - 超视觉 iPhone 应用程序,如 UIView 或 UITableView 滚动

转载 作者:IT王子 更新时间:2023-10-29 08:13:44 25 4
gpt4 key购买 nike

谁能给我一些关于如何重新创建 UltraVisual iPhone 应用程序中使用的滚动效果的提示?这是一个 gif 来说明效果:

enter image description here

第一个 “cell” 是全高,而其他显示的单元格是常规大小。当用户向上滚动时,第一个单元格会慢慢调整到常规高度,而下一个单元格会慢慢变大。他们使用 UITableView? 还是 UIScrollView? 我不知道它是如何制作的...

最佳答案

哈,你让我开心!我实际上写了那个 View :)

这其实很简单。此 View 使用带有自定义 UICollectionViewLayout 的 UICollectionView。

总的原则是这样的。我组成了一个“拖动间隔”——这是在每个单元格之间拖动所需的距离。该值是任意的,但会影响用户必须拖动多少才能切换单元格。 Collection View 的总高度是'拖动间隔' * View 中的项目数。然后我将布局设置为自动分页到最近的拖动间隔(这赋予它捕捉行为)。这与 coverflow 的工作方式非常相似。由此您可以通过将 contentOffset.y 除以高度来计算“顶部单元格”的索引。

使用“顶部单元格”索引,您可以非常轻松地为每个单元格生成框架。顶部单元格的框架是 { 0, contentOffset.y, 320, 176 },您可以从那里计算下一个单元格的框架等等。

那么最后一个技巧就是计算页面索引的插值。这基本上是当前单元格索引的小数部分。这将给出一个介于 0 和 1 之间的数字,可用于计算顶部帧和下方帧之间的插值。

每个'prepareLayout'计算屏幕上单元格的帧,然后在layoutAttributesForElementsInRect:中,根据生成的帧生成所有layoutAttributes。

使用这个技巧,您可以创建各种复杂的布局。 UICollectionView 可以是一个强大的野兽,但肯定需要一点时间来了解它。

关于ios - 超视觉 iPhone 应用程序,如 UIView 或 UITableView 滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20250470/

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