我正在制作我的第一个应用程序。我使用带有故事板的 Xcode 4 来更好地了解正在发生的事情。该应用程序以带有 4 个选项卡的 TabBarController 开始(在故事栏中)。其中两个选项卡是带有 tableview 系统的导航控制器,另外两个选项卡是常规视图控制器。
我只在情节提要中制作了 TabBarController 本身,没有为它或任何东西制作一个类。因此,所有选项卡似乎在应用程序中同时“运行”,当我进入另一个选项卡并返回时,它们保持不变。它看起来有点不专业,也许对 iphone 也不好?
现在,当输入另一个选项卡时,我想让左侧选项卡变为非活动/重置为 RootViewController。
换句话说,为 TabBar 制作某种委托功能,因此只有选定的选项卡处于活动状态。类似的东西。如果我错了,请纠正我,我只是想了解我需要做什么。
经过我的研究,我必须在 AppDelegate.h 中为 TabBar 创建一个属性,在 AppDelegate.m 中合成它,然后以某种方式将 TabBar 的委托设置为 AppDelegate (自我?)或其他东西,这是在这里以某种方式完成的(AppDelegate.m):
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
//some statements.
然后在 AppDelegate.m 的某处添加类似这样的内容:
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
//With some statements about the viewcontrollers
但是正如您所见,我对编码不是很有经验,而且我找不到我理解的教程/指南,因为他们使用 xibs 等。所以有人可以帮我实现这个功能吗?我需要代码示例来理解如何做到这一点,如果你只用文字描述这个过程,如果你理解我的意思,它只会给我提出很多新问题。
代表 4 个选项卡(2 个表格视图和 2 个视图)的类让我们称它们为:
FirstTableViewController、SecondTableViewController、FirstViewController、SecondViewController
我不知道在 AppDelegate 中创建此功能是否足够,或者我是否必须为 TabBar 创建一个类(.h/.m),在不同的 ViewControllers 类中添加代码等。
我希望有人能以最简单和正确的方式帮助我做到这一点,我相信很多其他人在他们的应用程序开发的初学者阶段都会遇到这个困境,并且会发现这个问题的答案非常有用。
感谢您的帮助。