Iphone 如何使用多种类型的控制器构建应用程序?
我如何才能做到以下几点:Iphone 如何使用多种类型的控制器构建应用程序?,iphone,objective-c,cocoa-touch,interface-builder,uitabbarcontroller,Iphone,Objective C,Cocoa Touch,Interface Builder,Uitabbarcontroller,我如何才能做到以下几点: 当我的应用程序加载时,UIView将显示4个按钮 单击按钮将加载一个可以显示多个视图的UIAbbar控制器(不是带有UIAbbar的UIView) 这对我来说似乎很有挑战性,因为为了使用UITabBarController,我需要将其添加到appDelegate中窗口的子视图中。这样,我的应用程序将自动加载根视图中的UITabbarController。您不需要在应用程序委托中添加UITabbarController,这只是最常用的使用方法。您可以使用一个简单的UIVi
这对我来说似乎很有挑战性,因为为了使用UITabBarController,我需要将其添加到appDelegate中窗口的子视图中。这样,我的应用程序将自动加载根视图中的UITabbarController。您不需要在应用程序委托中添加
UITabbarController
,这只是最常用的使用方法。您可以使用一个简单的UIViewController
使初始视图,然后当按下按钮时加载uitabarcontroller
(以编程方式或从nib加载),然后显示它
以下是应用程序代理中可能包含的内容的示例:
- (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];
}
您不需要在应用程序委托中添加
UITabBarController
,这只是最常用的使用方法。您可以使用一个简单的UIViewController
使初始视图,然后当按下按钮时加载uitabarcontroller
(以编程方式或从nib加载),然后显示它
以下是应用程序代理中可能包含的内容的示例:
- (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];
}
如果我在另一个UIViewController中,如何调用loadTabBarController?在我的示例中,它将连接到Interface Builder中。MainWindow.xib将加载viewController。如果要以编程方式执行此操作,则可以将按钮的目标设置为应用程序委托,并将操作设置为普通操作。假设viewController有一个按钮连接到Interface Builder中的iAction。如果窗口在appDelegate中,viewController如何获取对该窗口的引用?窗口也在nib中,但是在我的示例中,视图控制器不需要引用该窗口,只需要引用应用程序委托。如果我在另一个UIViewController中,我如何调用loadTabBarController?在我的示例中,它将连接到Interface Builder中。MainWindow.xib将加载viewController。如果要以编程方式执行此操作,则可以将按钮的目标设置为应用程序委托,并将操作设置为普通操作。假设viewController有一个按钮连接到Interface Builder中的iAction。如果窗口在appDelegate中,viewController如何获取对该窗口的引用?该窗口也在nib中,但是在我的示例中,视图控制器不需要引用该窗口,只需要引用应用程序委托。