zoukankan      html  css  js  c++  java
  • ios开发-引导页实现

    源码:http://files.cnblogs.com/ios8/%5Bcode4app.com%5DIntroductionTutorialView_10843.zip

    可以看看demo,很简单,我也是一看就懂。

    下面说说我整合到我的项目中的方法。

    1.把下载的demo中的

    MYIntroductionView.h    

    MYIntroductionView.m

    MYIntroductionPanel.h

    MYIntroductionPanel.m

    这四个文件,再加上一些图像资源加到你的工程中去。(之后如果要修改图像等资源只要在相应位置修改就好了。这里只是师范,没做修改)。

    2.在你的主界面(打开应用显示的第一个界面)

    在对应的.h文件中引入头文件并且设置协议。

    如我的是  mainView.h

     
    1. //  
    2. //  mainView.h  
    3. //  softwareApp  
    4. //  
    5. //  Created by 余龙泽 on 13-9-27.  
    6. //  Copyright (c) 2013年 余龙泽. All rights reserved.  
    7. //  
    8.   
    9. #import <UIKit/UIKit.h>  
    10. #import "MYIntroductionView.h"  
    11.   
    12. @interface mainView : UITabBarController<MYIntroductionDelegate>  
    13.   
    14. @end  



    3.在主界面对应的.m文件中加入如下代码。

    如我的mainView.m

     
    1. -(void)viewDidAppear:(BOOL)animated{  
    2.       
    3.     //读取沙盒数据  
    4.     NSUserDefaults * settings1 = [NSUserDefaults standardUserDefaults];  
    5.     NSString *key1 = [NSString stringWithFormat:@"is_first"];  
    6.     NSString *value = [settings1 objectForKey:key1];  
    7.     if (!value)  //如果没有数据  
    8.     {  
    9.         //STEP 1 Construct Panels  
    10.         MYIntroductionPanel *panel = [[MYIntroductionPanel alloc] initWithimage:[UIImage imageNamed:@"SampleImage1"] description:@"Welcome to MYIntroductionView, your 100 percent customizable interface for introductions and tutorials! Simply add a few classes to your project, and you are ready to go!"];  
    11.           
    12.         //You may also add in a title for each panel  
    13.         MYIntroductionPanel *panel2 = [[MYIntroductionPanel alloc] initWithimage:[UIImage imageNamed:@"SampleImage2"] title:@"Your Ticket!" description:@"MYIntroductionView is your ticket to a great tutorial or introduction!"];  
    14.           
    15.         //STEP 2 Create IntroductionView  
    16.           
    17.         /*A standard version*/  
    18.         //MYIntroductionView *introductionView = [[MYIntroductionView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height) headerImage:[UIImage imageNamed:@"SampleHeaderImage.png"] panels:@[panel, panel2]];  
    19.           
    20.           
    21.         /*A version with no header (ala "Path")*/  
    22.         //MYIntroductionView *introductionView = [[MYIntroductionView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height) panels:@[panel, panel2]];  
    23.           
    24.         /*A more customized version*/  
    25.         MYIntroductionView *introductionView = [[MYIntroductionView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height) headerText:@"MYIntroductionView" panels:@[panel, panel2] languageDirection:MYLanguageDirectionLeftToRight];  
    26.         [introductionView setBackgroundImage:[UIImage imageNamed:@"SampleBackground"]];  
    27.           
    28.           
    29.         //Set delegate to self for callbacks (optional)  
    30.         introductionView.delegate = self;  
    31.           
    32.         //STEP 3: Show introduction view  
    33.         [introductionView showInView:self.view];  
    34.           
    35.         //写入数据  
    36.         NSUserDefaults * setting = [NSUserDefaults standardUserDefaults];  
    37.         NSString * key = [NSString stringWithFormat:@"is_first"];  
    38.         [setting setObject:[NSString stringWithFormat:@"false"] forKey:key];  
    39.         [setting synchronize];  
    40.     }  
    41. }  



    代码不难。

    viewDidAppear是在视图即将显示时候调用的方法。 这里看头寻找沙盒中 is_first中是否有数据,如果没有,就说明是第一次运行程序,则显示引导页并且在沙盒对应位置写入数据。

    如果有数据,就说明不是第一次运行,则跳过,不显示引导页。  

     

    很简单的操作。当然有更好的方法,也有更好的类库,这只是我个人选择的方法罢了。

  • 相关阅读:
    图片延时加载LazyLoad真的是LazyLoad吗?
    IO流操作实现文件拷贝\简单加密及相关知识点
    浅谈WebService开发(一)
    一次网站被挂恶意代码的查错经历
    自测,我的优点与缺点
    共鸣,此话在中国的确有些道理
    VsAddIn "Region this"
    虹影图片下载器(Preview)
    Group != Team
    同感,不转不行 低调做人,高调做事
  • 原文地址:https://www.cnblogs.com/ios8/p/ios-wizard.html
Copyright © 2011-2022 走看看