2

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

我如何参考每个选项卡?

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

4

3 回答 3

9

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];
}
于 2012-07-11T14:26:11.310 回答
1

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

  1. 将标签栏控制器拖到情节提要中(希望你有一个)
  2. 从选项卡栏控制器按住 Control 拖动到您想要连接到它的每个视图
  3. 汽水瓶

在此处输入图像描述

正如您所知,这为您提供了默认的选项卡栏控制器行为(因此它将始终存在,您可以从任何页面单击到另一个页面)。如果这不是你想要的,那么不要使用标签栏控制器。否则是可憎的。

于 2012-07-11T13:26:59.710 回答
-1

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

于 2016-01-14T21:52:40.990 回答