coreplot demo 增加storyboard支持

来源:互联网 发布:js数组判断重复的元素 编辑:程序博客网 时间:2024/06/06 08:48

CorePlotDemo代码是 CorePlot曲线图、饼图、柱状统计图表库的demo程序。 使用xib作为UI


步骤如下:

1.我们先删除mainwindow.xib文件

2.修改main.m

main函数该成:

#import "CorePlotDemoAppDelegate.h"//引入头文件

int main(int argc,char *argv[]) {

    

  // NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];

   @autoreleasepool {

         returnUIApplicationMain(argc, argv,nil,NSStringFromClass([CorePlotDemoAppDelegateclass]));

    }

  

  // [pool release];

}


3.新建一个storyboard文件


4.工程属性设置从storyboard文件加载

选中 “CorePlotDemo”  -》 Summary 下的 Main Storyboard 设置你刚新建的storyboard文件


5. storyboard文件中,新建tabBarController容器,并新建三个viewController, tabBarController和三个viewController建立联系(右键control ,拉线到各个viewController,弹出菜单选第一项) ,设置tabBarController的identifier属性为tabBarController,下面需要代码中用到


6.三个viewController(rootViewController, pieChartViewController,barChartViewController)关联到 class文件(RootViewController, PieChartViewController,BarChartViewController)


7建立关联后,开始修改代码,从代码中控制三个vewController的显示

我们修改CorePlotDemoAppDelegate.m源代码文件

7.1 修改如下,下面/* */ 之间的代码不变

/* 这中间的代码不变

    //1.初始化rootViewController

   self.rootViewController = [[[RootViewController alloc]init]autorelease];   

    

   //2.构造controllers视图

   BarChartViewController *barChart = [[BarChartViewControlleralloc]init];

   PieChartViewController *pieChart = [[PieChartViewControlleralloc]init];

   NSArray *controllers = [[NSArrayalloc]initWithObjects:self.rootViewController, barChart, pieChart,nil];

   [barChartrelease];

   [pieChartrelease];

    

   //3.设置tabBar上的条目

   UITabBarItem *tabBarItemOne = [[UITabBarItemalloc]initWithTitle:@"Scatter"image:niltag:0];

   UITabBarItem *tabBarItemTwo = [[UITabBarItemalloc]initWithTitle:@"Pie"image:niltag:1];

   UITabBarItem *tabBarItemThree = [[UITabBarItemalloc]initWithTitle:@"Bar"image:niltag:2];

*/

       7.1.1 注释下面这行

   //tabBarController = [[UITabBarController alloc] init]; //这里我们已经在storyboard绘制UITabBarController

   7.1.2 修改增加下面相关代码  

   NSString *tbControllerId =@"tabBarController";

   UIStoryboard *sb = [UIStoryboardstoryboardWithName:@"baStoryboard"bundle:nil];//获取storyboard对象指针

   UITabBarController *tbController = [sbinstantiateViewControllerWithIdentifier:tbControllerId];//获取tabbarcontroller

   tbController.viewControllers = controllers;

   [[tbController.viewControllersobjectAtIndex:0]setTabBarItem:tabBarItemOne];

   [[tbController.viewControllersobjectAtIndex:1]setTabBarItem:tabBarItemTwo];

   [[tbController.viewControllersobjectAtIndex:2]setTabBarItem:tabBarItemThree];


此时已经完成在storyboard的tabBarController中设置了三个viewController。运行就可以显示tabBarController中的视图了。