Twitter iOS配置文件页面配置

我正在尝试构建类似于Twitter的个人资料页面的页面。 看起来他们正在使用基本的UITableView 。 顶部配置文件只是tableHeaderView。 选项卡是SectionRowHeader中的UISegmentedControl ,因此在滚动时它会粘到顶部。 而推文只是该部分内的细胞。 如果你切换标签,似乎他们只是改变底层数据并重新加载表格。

但是,如果您使用该页面,您会注意到更改选项卡会保留上一个滚动位置。 如果您在一个选项卡上滚动回顶部,那么当然另一个选项卡必须滚动到顶部,否则它将在标题下方滚动。 此外,如果仔细观察,一旦开始滚动,底部(推文)就会有自己的滚动条。 所以看起来这就是它自己的tableview。 那么这将是主页单元格内的新表视图吗? 如果这就是他们正在做的事情,那么滚动在他们之间是无缝的。 您可以向上滚动底部,只有当标签固定到顶部时,推文才能在其下方滚动。

我正在尝试构建一个类似的结构化页面,但仍然遇到问题。 理想情况下,我还希望将这些子选项卡的逻辑分解为单独的视图控制器以供重用,但此时我只想让它工作。

任何人都知道他们用来设置这样的页面的结构吗?

我99%肯定他们只是在滚动查看表时调整滚动指示器插图:

 - (void)scrollViewDidScroll:(UIScrollView *)scrollView { CGFloat const visibleHeaderHeight = 0.0; // your logic here UIEdgeInsets const insets = UIEdgeInsetsMake(visibleHeaderHeight, 0.0, 0.0, 0.0); self.scrollView. scrollIndicatorInsets = insets; } 

此外,由于切片,我很确定他们正在使用分组样式表视图,因此您需要自己构建粘性标题。 您也可以在-scrollViewDidScroll:执行此-scrollViewDidScroll:但是。


如果您想将标签分成单独的视图控制器,我建议您进行以下设置:

  • 有一个容器视图控制器管理包含选项卡的标题视图
  • 使用UIViewController包含来插入活动视图控制器
  • 订阅活动视图控制器的滚动视图的contentOffset并相应地调整滚动指示符插入和粘贴标题y位置