uitableview - 创建动画,例如 iOS 8 Weather App

标签 uitableview animation uiscrollview ios8

我想创建一个我喜欢动画的 View ,例如 iOS 8 Weather 应用程序中的动画。
我试图解释更多我所做的事情。如果有什么不正确的请指导我。

  • 在顶部我贴了温度标签。 (大一号)
  • 在该标签下方,我放置了另一个标签以显示一些文本。在天气应用程序中,有显示每小时预报的水平 ScrollView 。
  • 接下来是表格 View 。

  • 我想要实现的是,当我开始滚动时,第一个标签平滑消失,第二个标签进入屏幕顶部,TableView 拉伸(stretch)以显示更多内容。
    当我滚动回顶部时,我希望整个过程恢复。

    做这个的最好方式是什么?

    最佳答案

    我最近为我正在创建的应用程序重新创建了 iOS8 天气应用程序的滚动效果。

    完整的代码太长了,这里就不贴了,有兴趣的 friend ,我把它放在 GitHub 上。您可以下载并运行该项目以查看它的外观。欢迎对代码进行改进:

    UIScrollView with masked content .

    它是这样工作的:

  • 您有一个 ScrollView (屏幕大小),其中包含一个 subview (掩码),而 subview (掩码)又具有一个 subview (内容)。我们还在屏幕顶部添加了一个大标签(在天气应用程序中,它显示了温度)。
  • 然后你使用 scrollViewDidScroll委托(delegate)方法以在用户滚动时将掩码固定在屏幕上。您还可以使用此方法首先向上拉伸(stretch)蒙版。
  • 将 mask 固定到屏幕上意味着 mask 的 subview (我们的内容)也变得固定。但是我们希望它滚动,所以我们做的与我们对掩码所做的内容相反(同样,使用 scrollViewDidScroll )。
  • 我们需要掩码实际充当掩码,因此我们设置 clipsToBounds = YES面具上。
  • 最后,我们在滚动过程中使用 ScrollView 的偏移量来移动和淡化屏幕顶部的大标签。

  • 为了使其行为与 iOS8 天气应用程序完全一样,我们还需要执行以下操作:
  • 取消在 mask 上方发生的任何滚动触摸,即在大温度显示屏上方。
  • 如果用户未完成,请确保以编程方式完成移动温度显示的初始滚动。
  • 添加一个固定在 mask 顶部的横向滚动 subview 。

  • 不过,我还没有做过这些。

    关于uitableview - 创建动画,例如 iOS 8 Weather App,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24876847/

    相关文章:

    ios - 更改 TableView 文本标签类型

    java - 如何从启动器运行 Java Swing 游戏的动画线程?

    iphone - 创建基于文本内容的 iPhone/iPad 应用程序

    ios - 如何在 Controller 之间传递数据?

    ios - 无法使用委托(delegate)更新 UITableViewCell 中的标签

    javascript - HTML5/CSS3 - 除了 z-index 之外的深度替代方案?

    ios - UIImageView 是否缓存图像?

    ios - 取消UIScrollView拖动后弹跳

    ios - ScrollView 不水平滚动

    ios - 检测 UITableView 何时滚动到底部