之前一直在忙于小项目的开发 没有更新。今天就归纳下多人开始时,各个部分如何组成
情景1:
如果有使用storyBoard的话,可以使用 UIStoryboard * SB =[UIStoryboard storyboardWithName:@"THXMain" bundle:nil];
方法,获取得到对应名称的故事版,在使用下面方法,按照identifier来获取得到对应的控制器(控制器的identifier一般命名为类名)
OrderManageTableViewController * vc =[SB instantiateViewControllerWithIdentifier:@"identifier"];
情景2:
如果是使用XIB方式的话,直接就可以使用 alloc,init方法或者new方法创建对应的控制器
情景3:
如果是纯代码的话,同样使用情景2内的方法,可以实现控制器的获取
情景4:
如果tabbar有3的或者更多的item时,只有部分页面存在于同一storyboard(简称S1)内,另一部分存在于另一个storyboard(简称S2)内,则可以使用两种方式
在S1内,需要为S2内的页面,预先创建好导航栏控制器
方法1:创建导航栏控制器(继承自UINavigationController),并且内viewdidload方法内,使用
UIStoryboard * SB =[UIStoryboard storyboardWithName:@"THXMain" bundle:nil];
OrderManageTableViewController * vc =[SB instantiateViewControllerWithIdentifier:@"OrderManageTableViewController"];
方法获取得到页面,并且放置在数组内,并将数组赋值给self.navigationController.viewControllers
方法2:这次则是在首页(就是tabbar的index为1的控制器)内的viewdidload方法内,
先使用 UINavigationController * navigation =[self.tabBarController.viewControllers objectAtIndex:2];
获取得到对应index内的导航栏,
然后使用方法1内的方法,获取得到控制器,并且打包成数组并且赋值给navigation.navigationController.viewControllers
方法3(不可行方法):经过简单实验发现这种猜想是不可行的
就是将tabbarController关键storyboard内对应的底部导航控制器,然后在该tabbarcontroller内使用类似于方法2内的方法重新给index为2的导航栏控制器赋值
但是在viewdidload , viewDidAppear,viewwillAppear 方法内进行测试并打印之后,打印为空,则加载部分并不存在于tabbarcontroller内。并且断点显示也是各种nil。
简单实验后得出结果,是不可行的。也找不到在其他什么方法内写该方法。姑且就是不可行。