4

我正在用 Xcode 中的故事板制作我的第一个 iPhone 应用程序,但我被卡住了。我的主屏幕有一个名为 MemberViewController 的视图控制器,它是主屏幕。这个屏幕有一个 UIView,它比名为 mainContent 的视图控制器小。

所以基本上,我希望能够在 UIView 中加载不同的视图控制器(与 UIView 的大小相同)。

MemberViewController(主页)-mainContent(UIView)

GetStartedViewController(我想在 UIView 中显示的单独视图控制器) ProfileViewController(我想在 UIView 中显示的单独视图控制器)

例如,我希望 GetStartedViewController 有一个按钮,我可以按下该按钮来切换到 ProfileViewController。视图控制器需要能够在 mainContent UIView 中相互替换。

非常感谢您的帮助。如果有更简单的方法可以做到这一点,请告诉我。

4

1 回答 1

4

我实际上经常使用这种技术。我典型的根设置UIViewController(你称之为它memberController)在底部有一个视图UITabBar,然后是另一个UIView(你称之为它mainContent)包含该栏上方的其余空间的视图。

memberController一直停留在屏幕上。在里面mainContent,添加一个UINavigationController并用你的第一个内容承载初始化它GetStartedViewController。当你想在你的标签栏上切换标签时,向它发送适当的消息,UINavigationController里面的视图就会改变。

提示:说你UINavigationController的被叫navController- 你可以通过发送消息摆脱导航栏(顶部的蓝色)[navController setNavigationBarHidden:TRUE];

编辑:您请求的代码如下所示。这会将导航控制器添加到applicationDidFinishLaunchingWithOptions方法中的窗口视图。而不是窗口,只需在viewDidLoad.

window并且navController都是属性

    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
self.navController = [[UINavigationController alloc] initWithRootViewController:[YourViewController new]];
[self.navController setNavigationBarHidden:YES];
[self.window addSubview:self.navController.view];
[self.window makeKeyAndVisible];

希望这可以帮助!

于 2012-07-19T03:45:20.627 回答