多个UITableViews作为子视图

时间:2011-06-20 14:01:01

标签: objective-c uitableview uikit

我正在开发一个小应用程序,以获得Objective-C和UIKit。我的申请应该只显示每个工作日的菜单,这些菜单在我大学的个人食堂供应。


我有一个包含UIToolbar的视图,该视图本身包含UISegmentedControl以在日期之间切换。剩余的屏幕空间应用于表视图,显示某个食堂在某个工作日提供的菜肴。现在,我该怎么做?

我的Canteen有5 Menus(每天一个),其中每个Menus都包含任意数量的Dishes。到目前为止,业务逻辑实际上工作正常。

如何将我的视图连接到我的业务逻辑。在我看来,有三种可能的方式,我不知道应该选择哪一种:

  1. 我的CanteenController - 拥有上述UIToolbar的所有内容。它实现了管理UITableView所需的协议,并拥有显示菜肴的UITableView

  2. 我有MenuController使用CanteenController的{​​{1}} - 所以UITableView在5 UITableView之间共享。

  3. 我有5个MenuControllers,其中有MenuControllers个版本,每当我在几天之间切换时,我会用UITableViews替换当前的UITableView之一。

  4. 对于这个问题,有没有正确的解决方案?我认为,所有这些解决方案都应该有效,但也许我应该更喜欢其中一种。

2 个答案:

答案 0 :(得分:0)

这些解决方案中的任何一个都可以使用,并且在大多数情况下,它们都不会导致性能或内存问题。选项3的一个优点是,在选择

时,您可以轻松地在它们之间淡入淡出
[UIView animateWithDuration:0.5 animations:^{ /*show new top view by setting alpha from 0 to 1 and bring it to the front*/ }];

答案 1 :(得分:0)

1 - 将是我的选择,并在选择新的工具栏项时重新加载表的数据。这样可以减少使用的内存,这在查看Apple文档时是无法规定的...不要再使用内存了。“

2 - 对我来说没有意义

3 - 我认为TabBarController会更好地处理,它会在每个视图控制器之间自动为您进行视图切换。**