IOS开发之程序首次启动时加载关于程序应用的简介

我们在IOS应用中很多时候会看到关于第一次应用程序时候会有一个scrollview介绍程序如何使用,这个介绍怎么做呢,下面是我的思路;

程序第一次启动,在加载rootViewController的viewDidLoad里面判断本地沙盒documentsDirectory是否存在文件firstOpenFile,如果不存在则创建(并且加载另一个viewController介绍程序应用),如果存在程序则正常运行;


在rootViewController的VIewDidLoad函数中,如下

- (void)viewDidLoad {

    [superviewDidLoad];

    flc = [[FirstLoadControlleralloc] init];       //flc是全局变量,在dealloc中销毁;

    if ([ flc  isFirstOpen]) {

        [self.view addSubview: flc .view] ;

        [ flc firstOpened] ;

    }

}


FirstLoadController.h内容如下:

#import <UIKit/UIKit.h>

@interface FirstLoadController : UIViewController<UIScrollViewDelegate>{

    NSArray *imgArray ;

}

@property (retain, nonatomic) IBOutlet UIScrollView *introductionScrollView;

@property (retain, nonatomic) IBOutlet UIPageControl *pageController;

@property (retain, nonatomic) IBOutlet UILabel *label;

@property (retain, nonatomic) NSArray *imgArray ;

@property (retain, nonatomic) IBOutlet UIButton *btn;

- (NSArray *)getImgArray ;

- (void)goPage;

- (NSArray *)getTextArray ;

- (IBAction)btnClick:(id)sender;

- (BOOL)isFirstOpen;

- (void)firstOpened;

@end


FirstLoadController.m内容如下:

- (void)viewDidLoad {

    [superviewDidLoad];

    self.imgArray = [self getImgArray];

    introductionScrollView.contentSize = CGSizeMake([imgArray count]*320460) ;

    introductionScrollView.backgroundColor = [UIColor blackColor];

    introductionScrollView.frame = CGRectMake(00320introductionScrollView.frame.size.height) ;


    for (int i = 0 ; i < [imgArray count]; i++) {

        UIView *pageView = [[UIViewalloc] init] ;


        UIImage *img = [[UIImagealloc]  initWithContentsOfFile:[[NSBundlemainBundlepathForResource:[imgArrayobjectAtIndex:i] ofType:@"png"]] ;

        UIImageView *imgView = [[UIImageViewalloc] initWithImage:img] ;

        [img release] ;

        

        imgView.frame = CGRectMake(10,10,200, 200) ;  //图片大小,图片位于oneView的位置

        [pageView addSubview:imgView] ;

        [imgView release] ;


        pageView.frame = CGRectMake(i*320,0, 320, 460) ;    //oneVIew 加入UIScrollView;        

        [introductionScrollViewaddSubview:pageView];

        [pageView release] ;

    }


    [pageController setNumberOfPages:[imgArraycount]];

    [self goPage] ;

}


-(void)goPage{

    int page =introductionScrollView.bounds.origin.x/320;

    [pageController setCurrentPage:page] ;

    label.text = [[selfgetTextArray] objectAtIndex:page];

}


-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{

    [self goPage] ;

    if(([imgArray count]-1)*320 == scrollView.bounds.origin.x){ //如果是最后一页,就加上按钮

        btn.hiddenNO;

    }else{

        btn.hidden =YES;

    }

}


-(NSArray *)getImgArray{           //图片的名字

    return [NSArrayarrayWithObjects:@"01",@"02",nil];

}


-(NSArray *)getTextArray{         // 对应页面的文字,对相应的图片做相应的简介

    return [NSArrayarrayWithObjects:@"1234567890",@"1234567890",nil] ;

}


- (IBAction)btnClick:(id)sender {

    [self.viewremoveFromSuperview] ;

}


-(void)firstOpened{

    NSFileManager *fileManager = [NSFileManagerdefaultManager];

    NSArray *paths =NSSearchPathForDirectoriesInDomains(NSLibraryDirectory,NSUserDomainMask,YES);

    NSString *DocumentDirectory = [paths objectAtIndex:0];  

    [fileManager changeCurrentDirectoryPath:[DocumentDirectorystringByExpandingTildeInPath]];

    [fileManager removeItemAtPath:@"firstOpenFile"error:nil];

    NSString *path = [DocumentDirectory stringByAppendingPathComponent:@"firstOpenFile"];

    NSMutableData  *writer = [[NSMutableDataalloc] init];

    [writer appendData:nil];

    [writer writeToFile:path atomically:YES];

    [writer release];

}


-(BOOL)isFirstOpen {                                                         //判断文件是否存在

    NSArray *paths =NSSearchPathForDirectoriesInDomains(NSLibraryDirectory,  NSUserDomainMask,  YES) ;

    NSString *documentsDirectory =  [paths objectAtIndex:0] ;

    NSString *file = [documentsDirectory stringByAppendingPathComponent:@"firstOpenFile"] ;

    if ([[NSFileManagerdefaultManager]  fileExistsAtPath:file]) {

        return NO ;

    }

    return YES ;

}

@end


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值