zoukankan      html  css  js  c++  java
  • iOS开发之应用首次启动显示用户引导

    这个功能的重点就是在如何判断应用是第一次启动的. 其实很简单

    我们只需要在一个类里面写好用户引导页面  基本上都是使用UIScrollView 来实现,

    新建一个继承于UIViewController的类 命名为 UserGuideViewController ,

    在UserGuideViewController.m 写


     1 - (void)viewDidLoad
     2 {
     3     [super viewDidLoad];
     4     // Do any additional setup after loading the view.
     5     self.view.backgroundColor = [UIColor redColor];
     6    
     7     [self initGuide];   //加载新用户指导页面
     8 }
     9
    10 - (void)initGuide
    11 {
    12     UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 640)];
    13     [scrollView setContentSize:CGSizeMake(1280, 0)];
    14     [scrollView setPagingEnabled:YES];  //视图整页显示
    15     //    [scrollView setBounces:NO]; //避免弹跳效果,避免把根视图露出来
    16    
    17     UIImageView *imageview = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)];
    18     [imageview setImage:[UIImage imageNamed:@"0.png"]];
    19     [scrollView addSubview:imageview];
    20     [imageview release];
    21    
    22     UIImageView *imageview1 = [[UIImageView alloc] initWithFrame:CGRectMake(320, 0, 320, 460)];
    23     [imageview1 setImage:[UIImage imageNamed:@"1.png"]];
    24     [scrollView addSubview:imageview1];
    25     [imageview1 release];
    26    
    27     UIImageView *imageview2 = [[UIImageView alloc] initWithFrame:CGRectMake(640, 0, 320, 460)];
    28     [imageview2 setImage:[UIImage imageNamed:@"2.png"]];
    29     [scrollView addSubview:imageview2];
    30     [imageview2 release];
    31    
    32     UIImageView *imageview3 = [[UIImageView alloc] initWithFrame:CGRectMake(960, 0, 320, 460)];
    33     [imageview3 setImage:[UIImage imageNamed:@"3.png"]];
    34     imageview3.userInteractionEnabled = YES;    //打开imageview3的用户交互;否则下面的button无法响应
    35     [scrollView addSubview:imageview3];
    36     [imageview3 release];
    37    
    38     UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];//在imageview3上加载一个透明的button
    39     [button setTitle:nil forState:UIControlStateNormal];
    40     [button setFrame:CGRectMake(46, 371, 230, 37)];
    41     [button addTarget:self action:@selector(firstpressed) forControlEvents:UIControlEventTouchUpInside];
    42     [imageview3 addSubview:button];
    43    
    44     [self.view addSubview:scrollView];
    45     [scrollView release];
    46 }
    button的方法

    1 - (void)firstpressed
    2 {
    3     [self presentModalViewController:[[[WeiBoViewController alloc] init] autorelease] animated:YES];  //点击button跳转到根视图
    4 }
     

    至于添加button是因为我的用户引导最后一个页面有一个画上去的button,写着 开始使用  我在上面添加一个透明的button 用以实现调用方法

    打开AppDelegate.m

    首先引入头文件


    1 #import "UserGuideViewController.h"
    2 #import "WeiBoViewController.h"
    WeiBoViewController是我的根视图application: didFinishLaunchingWithOptions: 方法内进行判断


     1 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
     2 {
     3     self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
     4     // Override point for customization after application launch.
     5    
     6     //判断是不是第一次启动应用
     7     if(![[NSUserDefaults standardUserDefaults] boolForKey:@"firstLaunch"])
     8     {
     9         [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"firstLaunch"];
    10         NSLog(@"第一次启动");       
    11         //如果是第一次启动的话,使用UserGuideViewController (用户引导页面) 作为根视图
    12         UserGuideViewController *userGuideViewController = [[UserGuideViewController alloc] init];
    13         self.window.rootViewController = userGuideViewController;
    14         [userGuideViewController release];
    15     }
    16     else
    17     {
    18         NSLog(@"不是第一次启动");
    19         //如果不是第一次启动的话,使用LoginViewController作为根视图
    20         WeiBoViewController *weiBoViewController = [[WeiBoViewController alloc] init];
    21         self.window.rootViewController = weiBoViewController;
    22         [weiBoViewController release];
    23
    24     }
    25    
    26     self.window.backgroundColor = [UIColor whiteColor];
    27     [self.window makeKeyAndVisible];
    28     return YES;
    29 }

  • 相关阅读:
    Mysql查漏补缺
    RabbitMQ学习笔记
    memcache学习笔记
    Redis问题整理
    JedisCluster获取key所在的节点
    JavaSE编程题
    IDEA快捷键 日常整理
    Idea 常用快捷键列表
    【C++】 构造函数为什么不能声明为虚函数,析构函数可以
    【算法笔记】买卖股票问题--DP/贪心算法
  • 原文地址:https://www.cnblogs.com/Xer-Lee/p/3154833.html
Copyright © 2011-2022 走看看