iOS接下来要研究的知识点汽车公司可能用到的知识点

仿“百度贴吧/简书等”个人页面的实现方案

2022-03-21  本文已影响0人  启发禅悟

类似贴吧,简书等个人内容比较丰富的APP,个人页面除了彰显个性,内容的展示也非常重要,现在普遍的设计都是顶部个人信息和统计,下半部分则是个人内容的展示。例如我的简书个人主页:

简书个人主页.gif

这里包含几个特别有意思的功能:

  1. 顶部导航栏背景隐藏
  2. 上拉逐渐显示导航栏
  3. 下拉背景图片放大
  4. 上拉背景视图向上滚动,在内容切换的视图置顶(导航栏下面)之后,背景视图停止滚动,内容则可以继续滚动。
  5. 内容可以由内容切换视图内部的按钮进行切换

总体来说,这是一个经典的ScrollView的嵌套案例,Github已经有类似的方案提供了,大家可以参考:

JXPagingView
这个是我最近在Github上看到的,star数非常多,而且作者也写了原理,并一直在进行维护,推荐使用。

HJTabViewController
我的APP用的都是这个,目前来看还不错,不过好久没有维护了。

所以这次决定就研究下HJTabViewController的实现原理,看看自己有没有实力写一个类似的库。

图层结构

先来谈下图层结构,这是一个典型的ScrollView的嵌套结构,即一个横向滚动的ScrollView嵌套一个纵向滚动的ScrollView。

而HeaderView,TabView,则是位于ScrollView之上,利用ScrollView的Insets来进行设计。

截屏2021-12-06 下午7.59.04.png
利用UIScrollView的Insets

最终的代码在这里:
INSPageView
大家可以结合源码和Demo进行理解。

上一篇下一篇

猜你喜欢

热点阅读