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

来源:互联网 发布:2016双十一淘宝退货率 编辑:程序博客网 时间:2024/06/06 00:04

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

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

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


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


打开storyboard


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

可以看到,如图。

然后,删除Root View Controller

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



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

- (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


0 0