逆向工程 iOS 天气应用程序 UI 组件

Reverse engineering iOS weather app UI components

我正在尝试写下 iOS 天气应用程序的摘要。我感兴趣的主要组件在下图中标记为 1、2、3、4 和 5。

UI的获取方式如下:

A ViewController 与:

还有一个 PageView 控制器 (5)。

故事板创建(想关注this):

疑问:

在继续之前,我应该声明一个显而易见的事实:Weather 应用程序是封闭源代码!因此,所有这些都是有根据的猜测。

我的解释正确吗?
不是完全。我的猜测是 3 和 4 都不是普通的 UIScrollViews,而可能是 UICollectionViews。这使得水平滚动(3 个)以及布局和完全自定义单元格变得容易。另外,我怀疑3是4的子视图,因为它随着4的内容上下滚动。

您会注意到滚动时 1 和 2 的移动方向与 3 和 4 相同,但速度不同。这意味着它可能是与来自 4 滚动视图的回调相关联的驱动动画。

3个和4个垂直视图控制器?
可能不会。在我看来,在这里使用子视图控制器会有点矫枉过正。

使用接口 builder/storyboards 实现这个有什么缺点吗?
是的。我绝对不会推荐那个。这些行为是相当习惯的,我保证您最终会发现自己被迫编写大量的布局和动画代码。如果你从故事板开始,你最终会得到两个事实来源,可以这么说,所以我不会打扰。