现在的位置: 首页 > 综合 > 正文

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

2017年10月21日 ⁄ 综合 ⁄ 共 1457字 ⁄ 字号 评论关闭

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

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

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

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

打开storyboard

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

可以看到,如图。

然后,删除Root View Controller

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

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

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


你会发现,self.navigaitonController is null,因为没有初始化。之前,我们在代码中的初始化为,

  1. - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions :( NSDictionary *)launchOptions  
  2. {  
  3.     self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];  
  4.     // Override point for customization after application launch.  
  5.     self.window.backgroundColor = [UIColor whiteColor];  
  6.     MainViewController *mainViewController = [[MainViewController alloc] init];  
  7.     UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:mainViewController];  
  8.     self.window.rootViewController = nav;  
  9.     [self.window makeKeyAndVisible];  
  10.     return YES;  
  11. }  


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

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

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

抱歉!评论已关闭.