我正在构建一个主要显示tableview的应用程序。在这个tableview中我有一些自定义表行。表行填充了从服务器接收的数据。我从服务器收到多种数据。我将它存储在数组中。
例如,我有三种数组。每个都充满了从服务器收到的不同类型的数据。见下文:
(NSArray*)carList_
(NSArray*)motorcycleList_
(NSArray*)bicycleList_
我现在拥有的实际程序,只显示tableview中的carList。 CarList中的Foreach车,有一排桌子。
我想要做的事情有点棘手。我想在屏幕底部添加一个带有三个按钮的标签栏。当我按下第一个按钮时,我想要用carList填充表格。当我按下第二个按钮时,我想用motorcycleList填充表格。当我按下第三个按钮时,我想用自行车列表填充表格。
如您所见,我将使用相同的tableview。我只会用我想看到的数据重新填充它。 在iOS中是否允许这样做?因为我读过有关tabbar用于多个视图的内容,我只想用它来更改表格中的数据。只有我为未来发展计划的第四个按钮才会打开一个新视图。如果不允许,那么做什么是好的选择呢?按钮可能吗?我在网上搜索了我想要做的事情,但似乎以前从未使用过我的想法,我认为我的想法在iOS中是不允许的。
此时我有一个initialViewController(几乎没有代码,因为它只用于初始化服务器的某些东西。它就像一个启动画面),我有一个rootViewController可以完成工作。在rootViewController中,我得到了Table with Table行,它有不同的数据数组,这些数据是在加载rootViewController时调用的方法检索的。
我在没有故事板的情况下编程,因为我喜欢编码,我想了解它是如何工作的“地下”。如果允许我想用它做什么,实现tabbar的好方法是什么?我不认为标准选项卡控制器会起作用,因为我只使用一个视图。
答案 0 :(得分:1)
当然,您可以使用UITabBar解决方案。然而,这可能不是很有用,这不是UITabBar背后的想法。您可以在每个选项卡中实例化相同的TableViewController。在这种情况下,您可以使用相同的类,但是当用户在选项卡中循环时,您可以使用此类的实例。这显然是浪费记忆。
你的描述听起来像是一个带有UISegmetenControl的UIToolBar,可能更适合你的需求。您也可以将它放在屏幕的底部,您只需要一个TableViewController来存储数据。
答案 1 :(得分:0)
UISegmentedControl
用于在不同的数据表示之间切换。它也常用于在表数据源之间切换。但它经常出现在视图的顶部 。查看 App Store 应用的热门图表标签。
标签栏旨在为每个标签显示不同的视图。以下是实现结果的进度步骤:
AppDelegate
中加载表视图控制器之外的数据。当数据可用时,使用通知更新表视图。