【问题标题】:How does twitter use UITableView to make this page?twitter 是如何使用 UITableView 制作这个页面的?
【发布时间】:2017-02-01 23:36:04
【问题描述】:

我想在我的应用程序中创建一个页面,它应该类似于TwitterMe page。但是,我真的不知道他们是怎么做到的。

我想有一个主要的UITableView 和三个子UITableViews。但是它们是如何结合在一起的呢?

目前我创建了一个主ViewController 和三个子ViewController。在主要的ViewController 中,我在表头中放置了一个UITableView 和一个UISegmentedControl。该表只有一个单元格,并在该单元格中放置了三个子 ViewController。我可以使用分段控制来更改子视图控制器的隐藏值。看起来像twitter,但这张桌子根本不像twitter那样工作顺利......Twitter的桌子在三个桌子之间工作得如此顺利,我真的不知道Twitter是如何做到的...... .

有人知道吗?

【问题讨论】:

  • 我认为他们很可能使用 UICollection 视图而不是表视图。

标签: ios uitableview twitter


【解决方案1】:

也许你可以尝试 UISegmentedControl 组合这三个视图控制器而不是分开的:D

【讨论】:

  • 嗨,@Rango,我确实使用 UISegmentedControl 在 3 个子视图控制器之间切换。我在原始问题中没有提到它,现在我更新我的问题并添加这部分。但是,问题是,它不像高音扬声器那样平滑滚动。这就是我想知道 Tweeter 是如何做到的。
【解决方案2】:

使用UISegmentControl 完成,看看https://developer.apple.com/reference/uikit/uisegmentedcontrol。有两种方法,一种是使用相同的 UITableView 并基于段更改数据源。这会导致在每个段更改时重新加载。如果要使用单一职责原则,最好使用 3 个视图控制器以及 UISegmentControl

【讨论】:

  • 嗨@New16,我确实添加了 UISegmentedControl。只需更新我的问题并添加这部分。对于 2 种方法,第一种方法,表格可以平滑滚动,但每次重新加载数据源时,表格都会滚动回顶部。 (高音喇叭不会)。第二个是我目前所做的,但问题是滚动表格时,它不像 Tweeter 那样平滑滚动。我个人认为 Tweeter 使用第二种方法。只是我不知道他们如何使表格滚动顺畅...
  • @Alexander Huang 我想象你正在使用NSFetchedResultsController,在这种情况下,你需要处理viewWillAppear中的代理和performFetch()的设置,并将@中的代理设置为nil 987654328@。检查您如何加载图像。如果您在willDisplayCell 而不是cellForRowAtIndexPath 中加载单元格信息,滚动将得到改善
  • 是的,我使用 NSFetchedResultsController 来检索数据。您说的委托是 NSFetchedResultsController 之一,对吧?你认为我选择你提到的第二种方法是正确的?
  • 是的,第二种方法是正确的。代表是NSFetchedResultsController的。
  • @AlexanderHuang 你得到解决方案了吗?如果滚动不流畅需要调试UITableViewCell的UI。有很多博客,例如medium.com/ios-os-x-development/…。你可以检查你缺少什么。
猜你喜欢
  • 2013-07-07
  • 2023-02-03
  • 1970-01-01
  • 2021-12-19
  • 2018-10-30
  • 1970-01-01
  • 1970-01-01
  • 2023-04-08
  • 1970-01-01
相关资源
最近更新 更多