如何在iOS上创建标签栏?

时间:2012-07-11 12:44:50

标签: objective-c ios uitabbarcontroller uitabbar

我需要在我的主视图控制器上有一个带标签的标签栏,以导航到我所有的其他控制器。我只需要这个控制器上的标签栏,当我到达另一个控制器时,我只需要一个后退按钮就可以进入主控制器。 现在我有一些问题。我在主视图控制器中创建了选项卡栏,并在所有选项卡中创建了我需要的文本和图像。但是我看到我只能为标签栏创建IBOutlet,而不是为每个标签创建IBAction(正如我所想)。所以我创建了一个IBOutlet并将其连接到我的标签栏。

我如何参考每个标签?

如果我可以参考每个标签,当我不能使用关于它的操作时,如何在选择标签时更改视图控制器?(我不是要求代码更改控制器,我要求的是我应该放置代码,以便我的应用程序知道这个特定的选项卡被按下并且必须更改控制器)。 感谢您阅读我的帖子:D

3 个答案:

答案 0 :(得分:8)

您可以在UITabBarController中以编程方式创建applicationDidFinishLaunching并将其设置为根视图控制器(或者,如果您愿意,可以将其显示为模态视图)。以下是执行此操作的最小代码:

UITabBarController *tabBarController = [[UITabBar alloc] init];

UIViewController *controller1 = [[YourViewController alloc] init];
UIViewController *controller2 = [[YourOtherViewController alloc] init];

tabBarController.viewControllers = [NSArray arrayWithObjects:
    controller1,
    controller2,
    nil];

// set as the root window
window.rootViewController = tabBarController;

如果要自定义标签栏项目的外观,请通过在子视图控制器中添加重载(UITabBarItem *)tabBarItem来执行此操作:

- (UITabBarItem *)tabBarItem
{
    return [[UITabBarItem alloc] initWithTitle:@"Amazing" image:[UIImage imageNamed:@"Blah.png"] tag:0];
}

答案 1 :(得分:1)

如何制作标签栏控制器 由我

  1. 将标签栏控制器拖动到故事板(希望你有一个)
  2. 控制 - 从标签栏控制器拖动到您想要连接到的每个视图
  3. 流行乐瓶
  4. enter image description here

    您知道,这为您提供了默认的标签栏控制器行为(因此它始终存在,您可以从任何页面点击到另一个页面)。如果这不是您想要的,那么请不要使用标签栏控制器。否则是令人憎恶的。

答案 2 :(得分:-1)

故事板肯定是有帮助的,但是如果你不想使用一个没问题的话。执行控制从标签栏控制器拖动到新的视图控制器确实有效(达斯汀的回复)。