//本地緩存的版本號 第一次啟動的時候本地是沒有緩存版本號的。
NSString *versionCache = [[NSUserDefaults standardUserDefaults] objectForKey:@"VersionCache"];
//當前應用版本號
NSString *version = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];
//如果本地緩存的版本號和當前應用版本號不一樣,則是第一次啟動(更新版本也算第一次啟動)
if (version == nil || ![versionCache isEqualToString:version])
{
MSUTabbarController *tab = [[MSUTabbarController alloc] init];
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:tab];
nav.navigationBar.hidden = YES;
self.window.rootViewController = nav;
_scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, WIDTH, HEIGHT)];
_scrollView.backgroundColor = [UIColor orangeColor];
_scrollView.pagingEnabled = YES;
_scrollView.delegate = self;
_scrollView.showsVerticalScrollIndicator = NO;
_scrollView.contentSize = CGSizeMake(WIDTH * 3, HEIGHT);
[self.window addSubview:_scrollView];
[self.window bringSubviewToFront:_scrollView];
//啟動頁的滑動頁面
NSArray *picArray = [[NSArray alloc] initWithObjects:@"yindaoye1", @"yindaoye2",@"yindaoye3",nil];
for (int i = 0; i < picArray.count; i++) {
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(WIDTH * i, 0, WIDTH, HEIGHT)];
imageView.image = [MSUPathTools showImageWithContentOfFileByName:[picArray objectAtIndex:i]];
[_scrollView addSubview:imageView];
}
//設置上下面這句話,將當前版本緩存到本地,下次對比一樣,就不走啟動視屏了。
//也可以將這句話放在MSUMovieController.m的進入應用方法enterMainAction里面
//為了讓每次都可以看到啟動視屏,這句話先注釋掉
// [[NSUserDefaults standardUserDefaults] setObject:version forKey:@"VersionCache"];
// [[NSUserDefaults standardUserDefaults] synchronize];
}else{
//不是首次啟動
[self createRootWithDictionary:launchOptions application:(UIApplication *)application];
}
pragma mark - 隱藏引導頁
-
(void)hideGuidView{
[UIView animateWithDuration:0.5 animations:^{
_scrollView.alpha = 0;
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[_scrollView removeFromSuperview];});
}];
}
pragma mark - scrollView Delegate
- (void)scrollViewWillBeginDragging:(UIScrollView )scrollView{
int cuttentIndex = (int)(scrollView.contentOffset.x + kScreen_width0.5)/kScreen_width;
BOOL isScrollOut = YES;
if (cuttentIndex == 2) {
if ([self isScrolltoLeft:scrollView]) {
if (!isScrollOut) {
return;
}
[self hideGuidView];
}
}
}
pragma mark - 判斷滾動方向
- (BOOL )isScrolltoLeft:(UIScrollView *)scrollView{
//返回YES為向左滑動,NO為右滾動
if ([scrollView.panGestureRecognizer translationInView:scrollView.superview].x < 0) {
NSLog(@"%f",[scrollView.panGestureRecognizer translationInView:scrollView.superview].x);
return YES;
}else{
return NO;
}
}