当我们下载安装一个新的应用,或者将先用应用更新之后,第一次打开会又个启动滑动图,介绍程序的功能或增加的新特性.这个界面只在第一次打开时出现,之后就不再显示.此处利用程序版本号,以及UIScrollView和UIPageControl实现程序启动滑动图.
程序启动时,最先打开的是入口类:AppDelegate,所以先在入口类中判断程序是否为第一次打开.
//获取当前版本号 NSString *key=(NSString *)kCFBundleVersionKey; NSString *version=[NSBundle mainBundle].infoDictionary[key]; //上次版本存储的版本号 NSString *saveVersion=[[NSUserDefaults standardUserDefaults]objectForKey:key]; //判断版本号是否一致,如果一致,跳转到主页 if ([version isEqualToString:saveVersion]) { mainViewController *main=[[mainViewController alloc]init]; UIWindow *window=[UIApplication sharedApplication].delegate.window; window.rootViewController=main; } //如果不一致,进入启动滑动页面 else { //在进入启动页面之前,先把新的版本号存入沙盒,替代旧版本号 [[NSUserDefaults standardUserDefaults]setObject:version forKey:key]; [[NSUserDefaults standardUserDefaults]synchronize]; scrollViewController *scroll=[[scrollViewController alloc]init]; UIWindow *window=[UIApplication sharedApplication].delegate.window; window.rootViewController=scroll; }
在启动滑动页面添加UIScorllVIew和UIPageControl
添加UIScrollView-(void)addScorll{ scroll=[[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, 320, 480)]; scroll.pagingEnabled=YES; //将scroll的大小设计的比原来多一点,目的是当滑动到最后一张图时,再次滑动会进入主界面,没有为什么,我自己试出来的. scroll.contentSize=CGSizeMake(320*3+150, 0); //添加图片 for (int i=0; i<3; i++) { UIImageView *image=[[UIImageView alloc]initWithFrame:CGRectMake(320*i, 0, 320, 480)]; image.image=[UIImage imageNamed:[NSString stringWithFormat:@"%d.png",i+1]]; [scroll addSubview:image]; //为每个页面添加跳过按钮 UIButton *jump=[UIButton buttonWithType:UIButtonTypeCustom]; jump.frame=CGRectMake(320*i+110, 430, 100, 30); jump.backgroundColor=[UIColor redColor]; [jump addTarget:self action:@selector(jumpToMain) forControlEvents:UIControlEventTouchUpInside]; [scroll addSubview:jump]; } scroll.showsHorizontalScrollIndicator=NO; scroll.contentOffset=CGPointMake(0, 0); scroll.delegate=self; [self.view addSubview:scroll];}
点击跳过按钮跳转到下一页
-(void)jumpToMain{ mainViewController *main=[[mainViewController alloc]init]; UIWindow *window=[UIApplication sharedApplication].delegate.window; window.rootViewController=main;}
添加pagecontrol
-(void)addpagecontrl{ page=[[UIPageControl alloc]init]; page.frame=CGRectMake(110, 470, 100, 10); page.numberOfPages=3; page.currentPage=0; [self.view addSubview:page];}
滑动页面
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{ page.currentPage=scroll.contentOffset.x/320; //第三张图像向左需要滑动超过140才能跳转,这个随个人情况调吧 if (scroll.contentOffset.x>320*2+140) { mainViewController *main=[[mainViewController alloc]init]; UIWindow *window=[UIApplication sharedApplication].delegate.window; window.rootViewController=main; }}