文档章节

IOS 引导页

刘重洋
 刘重洋
发布于 2015/10/21 13:05
字数 400
阅读 1228
收藏 1
#import "AppDelegate.h"
//引导页
#import "GuidePageViewController.h"
//tabbar控制器
#import "GPTabBarViewController.h"
@interface AppDelegate ()
@property(nonatomic,assign) BOOL isExist;
@end

@implementation AppDelegate


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.
   
   
    if ([[[NSUserDefaults standardUserDefaults] objectForKey:@"YINDAOYE"] isEqualToString:@"YINDAOYE"]){//归档标记存在,直接进入主页面
              self.window=[[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];
       UIStoryboard *storyboard= [UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]];
        GPTabBarViewController *gpVC=[storyboard instantiateViewControllerWithIdentifier:@"GPTabBarViewController"];
        self.window.backgroundColor=[UIColor whiteColor];
        self.window.rootViewController=gpVC;
        [self.window makeKeyAndVisible];
        //删除归档
        [[NSUserDefaults standardUserDefaults] removeObjectForKey:@"YINDAOYE"];
    }else{//归档标记不存在,归档标记后,进入进入引导页
        [[NSUserDefaults standardUserDefaults] setObject:@"YINDAOYE" forKey:@"YINDAOYE"];
        GuidePageViewController *guidePageVC=[[GuidePageViewController alloc]init];
        self.window=[[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];
        self.window.backgroundColor=[UIColor whiteColor];
        self.window.rootViewController=guidePageVC;
        [self.window makeKeyAndVisible];
    }

    return YES;
}



#import "GuidePageViewController.h"
#import "GPTabBarViewController.h"
@interface GuidePageViewController ()<UIScrollViewDelegate>

@end

@implementation GuidePageViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
     [self guldePage];
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

/*
#pragma mark - Navigation

// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    // Get the new view controller using [segue destinationViewController].
    // Pass the selected object to the new view controller.
}
*/
-(void)buttonClick:(UIButton *)button{
    UIStoryboard *storyboard= [UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]];
    GPTabBarViewController *gpVC=[storyboard instantiateViewControllerWithIdentifier:@"GPTabBarViewController"];
    UIWindow *window=[UIApplication sharedApplication].keyWindow;
    window.rootViewController=gpVC;
}
-(void)guldePage{
    NSArray *imgArray=@[[UIImage imageNamed:@"w1.jpg"],[UIImage imageNamed:@"w2.jpg"],[UIImage imageNamed:@"w3.jpg"]];
    UIScrollView *scrollView=[[UIScrollView alloc]initWithFrame:self.view.bounds];
    scrollView.tag=200;
    scrollView.pagingEnabled=YES;
    scrollView.showsHorizontalScrollIndicator=NO;
    scrollView.showsVerticalScrollIndicator=NO;
    scrollView.delegate=self;
    scrollView.contentSize=CGSizeMake(scrollView.bounds.size.width*3, scrollView.bounds.size.height);
    for (int i =0; i <3; i++) {
        UIImageView *imageView =[[UIImageView alloc]initWithFrame:CGRectMake(i*scrollView.bounds.size.width, 0, scrollView.bounds.size.width, scrollView.bounds.size.height)];
        imageView.image=imgArray[i];
        [scrollView addSubview:imageView];
        
        if(i==2){
            imageView.userInteractionEnabled=YES;
            UIButton *button=[[UIButton alloc]initWithFrame:CGRectMake((imageView.bounds.size.width-150)/2 , imageView.bounds.size.height-60, 150, 50)];
            [button setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
            [button setTitle:@"点击进入" forState:UIControlStateNormal];
            [button addTarget:self action:@selector(buttonClick:) forControlEvents:UIControlEventTouchUpInside];
            button.layer.masksToBounds=YES;
            button.layer.cornerRadius=25.0;
            button.backgroundColor=[UIColor redColor];
            [imageView addSubview:button];
        }
    }
    [self.view addSubview:scrollView];
    
    UIPageControl *pageC=[[UIPageControl alloc]initWithFrame:CGRectMake((self.view.bounds.size.width-80)/2, self.view.bounds.size.height-30-60, 80, 30)];
    pageC.tag=201;
    pageC.numberOfPages=3.0;
    [self.view addSubview:pageC];
}

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
    NSInteger index=scrollView.contentOffset.x/scrollView.bounds.size.width;
    UIPageControl *pageC=(UIPageControl *)[self.view viewWithTag:201];
    pageC.currentPage=index;
    
}


© 著作权归作者所有

共有 人打赏支持
刘重洋
粉丝 0
博文 30
码字总数 20130
作品 0
郑州
项目经理
iOS精美过度动画、视频会议、朋友圈、联系人检索、自定义聊天界面等源码

iOS精选源码 iOS 精美过度动画源码(http://www.code4app.com/thread-14827-1-1.html) iOS简易聊天页面以及容联云IM自定义聊天页面的实现思路(http://www.code4app.com/thread-30348-1-1.htm...

sunnyaigd
07/11
0
0
IOS下box-shadow的诡异bug的修复

先说环境,我测试了两台IOS手机, 和 ,都存在这个诡异的bug。 这几天老大告诉我要做一个用户的引导页,引导页大致的效果像是这样子: 我也用过很多APP,很多APP其实这个引导页可视区域都是用...

灰风GreyWind
08/15
0
0
iOS涂色涂鸦效果、Swift仿喜马拉雅FM、抽屉转场动画、拖拽头像、标签选择器等源码

iOS精选源码 LeeTagView 标签选择控件(http://www.code4app.com/thread-31033-1-1.html) 为您的用户显示界面添加美观的加载视图(http://www.code4app.com/thread-31038-1-1.html) Swift4: 可......

sunnyaigd
09/19
0
0
react native 集成人脸识别 --ios

上一篇介绍了 android 端的集成 这篇介绍下ios的集成. 整体思路和android类似:ios原生这边集成sdk后,写个ios和RN的交互类,暴露给RN ,RN再调用 跳转人脸识别页。成功,或失败 内部sdk中有...

JsLin_
07/24
0
0
iOS使用Objective-c自定义cordova插件(-)

本系列教程为博主初次使用开发,内容如有差错,欢迎指正,敬请谅解。 博客地址:http://blog.img421.com/iosshi-yong-object-czi-ding-yi-cordovacha-jian/ Mac安装ionic和cordova我们已经熟悉,...

Michaelyn
2017/10/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Coding and Paper Letter(三十九)

资源整理。 1 Coding: 1.Python库benchmark rio s3,用于在访问S3上的文件时对Rasterio / GDAL的多线程性能进行基准测试的工具。 benchmark rio s3 2.Pangeo-Binder Cookiecutter模板。 cook...

胖胖雕
23分钟前
0
0
Promise 对象

Promise(承诺) 的含义 Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。它由社区最早提出和实现,ES6 将其写进了语言标准,统一了用法,原生提供...

简心
26分钟前
0
0
让UI设计师崩溃的瞬间,你经历过哪些?

隔行如隔山,这句话人人耳熟能详,但其实隔行并不可怕,大家各谋其事,各尽其职,倒也互不打扰,真正可怕的是,是内行还要受外行指点江山,而最难的部分,便是那沟通。流畅的沟通,和声细语,...

mo311
27分钟前
1
0
python进制转换

#进制转换print(bin(10)) #十进制转换成二进制print(oct(10)) #十进制转换成八进制print(hex(10)) #十进制转换成十六进制print(int('1010',2)) #二进制转十进制print(int(...

fadsaa
38分钟前
3
0
syntax error near unexpected token

最近不断重复在虚拟机CentOS测试安装gitlab,因为gitlab有一个脚本需要饭强才能下载,于是我先在windows下载好再上传到虚拟机,可是执行脚本的时候提示“syntax error near unexpected toke...

W_Lu
47分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部