如何构建具有多种类型控制器的应用程序?

发布于 2024-09-03 03:53:01 字数 262 浏览 1 评论 0原文

我怎样才能完成以下任务:

  1. 当我的应用程序加载 UIView 将显示 4 个按钮
  2. 单击按钮将加载可以显示多个视图的 UITabBarController (不是带有 UITabBar 的 UIView)。

这对我来说似乎具有挑战性,因为为了让我使用 UITabBarController,我需要将其添加到我的 appDelegate 中的窗口子视图中。通过这样做,我的应用程序将自动在根视图中加载 UITabbarController。

How can I accomplish the following:

  1. When my app loads a UIView will show 4 buttons
  2. Clicking on a button will load a UITabBarController (not a UIView with a UITabBar) that can display multiple views.

This seems challenging to me, because in order for me to use the UITabBarController I need to add this to the window's subview in my appDelegate. By doing so, my app automatically will load with the UITabbarController in the root view.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

○愚か者の日 2024-09-10 03:53:01

您不需要在应用程序委托中添加 UITabBarController,这只是最常见的使用方法。您可以让初始视图使用简单的 UIViewController,然后在按下按钮时加载 UITabBarController(以编程方式或从笔尖),然后显示它。

以下是您的应用程序委托中可能包含的内容的示例:

- (BOOL) application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    
    // viewController is a UIViewController loaded from MainWindow.xib with a button that calls loadTabBarController
    [window addSubview:viewController.view];
    [window makeKeyAndVisible];

    return YES;
}

- (IBAction) loadTabBarController {
    self.tabBarController = [[[UITabBarController alloc] initWithNibName:@"MyTabBarController" bundle:nil] autorelease];
    [viewController.view removeFromSuperview];
    [window addSubview:tabBarController.view];
}

You don't need to add the UITabBarController in the application delegate, that's just the most common way to use it. You can have your initial view use a simple UIViewController, then when the button is pressed load the UITabBarController (either programmatically or from a nib), and then display it.

The following is an example of what might be in your app delegate:

- (BOOL) application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    
    // viewController is a UIViewController loaded from MainWindow.xib with a button that calls loadTabBarController
    [window addSubview:viewController.view];
    [window makeKeyAndVisible];

    return YES;
}

- (IBAction) loadTabBarController {
    self.tabBarController = [[[UITabBarController alloc] initWithNibName:@"MyTabBarController" bundle:nil] autorelease];
    [viewController.view removeFromSuperview];
    [window addSubview:tabBarController.view];
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文