Xcode5使用Main.storyboard作为navigation根目录

因为习惯了使用代码写界面,偶尔一次使用控件,记录一下。

最新的Xcode5 使用Main.storyboard作为默认。

首先新建一个项目,选择Single View Application

Xcode5使用Main.storyboard作为navigation根目录_第1张图片

然后,一路next。工程项目建立完成

Xcode5使用Main.storyboard作为navigation根目录_第2张图片

打开storyboard

Xcode5使用Main.storyboard作为navigation根目录_第3张图片

选择一个Navigation Controller拖到图中区域

可以看到,如图。

然后,删除Root View Controller

右击Navigation Controller ,把root 链接到 view Controller上,把上图的箭头放到Navigation左边

Xcode5使用Main.storyboard作为navigation根目录_第4张图片


现在分析一下,如果,建立完工程后,你直接在代码中,

- (IBAction)action:(id)sender {
    NSLog(@"self.navigationController is %@",self.navigationController);
    FirstViewController *first = [[FirstViewController alloc] init];
    [self.navigationController pushViewController:first animated:YES];
}

你会发现,self.navigaitonController is null,因为没有初始化。之前,我们在代码中的初始化为,
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    // Override point for customization after application launch.
    self.window.backgroundColor = [UIColor whiteColor];
    MainViewController *mainViewController = [[MainViewController alloc] init];
    UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:mainViewController];
    self.window.rootViewController = nav;
    [self.window makeKeyAndVisible];
    return YES;
}

所以,我们需要,添加一个navigation Controller,设置rootViewController所以出现了上边的操作。

但是,如果你没有把箭头拖到navigation Controller,那还会打印 self.navigaitonController is null,因为此时程序首先加载的还是Main.storyboard。

转载是请保留:来自http://blog.csdn.net/ralbatr


你可能感兴趣的:(Xcode5使用Main.storyboard作为navigation根目录)