iOS-設置程序啟動頁后的廣告頁

//本地緩存的版本號 第一次啟動的時候本地是沒有緩存版本號的。
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_width
    0.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;
    }
    }
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1、禁止手機睡眠[UIApplication sharedApplication].idleTimerDisabl...
    DingGa閱讀 1,144評論 1 6
  • 1、改變 UITextField 占位文字 顏色和去掉底部白框 [_userName setValue:[UICo...
    i_MT閱讀 1,065評論 0 2
  • 春又相違,處處青山綠水; 桃新結,榴未開,初夏來。 近來罕見蝶舞飛, 棘花蜂不采。 最堪愁,霞半落,鳥倦歸。
    劍仙裴宣閱讀 293評論 0 2
  • 主講:周俊(杭師大副教授,北師大教育學博士) 記錄:5.9上午 梁維卿 主要研究領域:班級管理小案例、教研案例集、...
    灬梁小沫閱讀 719評論 0 0
  • 有一只公雞產下一只雞蛋,法庭正式對這只公雞進行了審判,將其用火燒死,給這只公雞定的罪名是,違反自然 近幾年變性術頗...
    東方踏痕東方閱讀 156評論 0 0