【发布时间】:2012-01-22 16:06:58
【问题描述】:
我有一个应用程序,它在 TabBarController 上有 5 个选项卡。为简单起见,假设它们是选项卡 A、B、C、D 和 E。每个选项卡将用户带到嵌入在导航控制器中的 TableViewController。每个选项卡也有自己特定的 .h 和 .m 文件。 5 个选项卡之间的大部分代码非常相似。我想取消这 5 组类文件,只使用 1 组。这将使我更容易对应用程序进行更改(在 1 个位置而不是 5 个位置)。如何在单个实现文件中检测选择了哪个选项卡?一旦我知道我可以放置逻辑来专门为选择哪个选项卡呈现 tableview...
我要提到的另一件事是我需要在 TableViewController 中检测选定的 Tab。 TabBarController 是应用程序的入口点,我没有 TabBarController 子类。
我在 TableViewController 中尝试了这段代码,但是它没有被访问和/或使用。
在 .h 文件中:
@interface MyController : UITableViewController <UITabBarDelegate>
在 .m 文件中:
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
{
//NSLog(@"selectedIndex: %d", self.tabBarController.selectedIndex);
NSLog(@"didSelectItem: %d", item.tag);
}
【问题讨论】:
-
尝试将类似的代码放在一个类中,然后为 A、B、C、D 和 E VC 子类化五次。
标签: iphone ios5 uitabbarcontroller xcode4.2