iOS app 如何添加引导页。

以下是通过UIScrollView实现的引导页。

  AppDelegate.m

//  HandCircle

//

//  Created by SR-APP-6 on 15/9/26.

//  Copyright (c) 2015年 SR-APP-6. All rights reserved.

//

#import "AppDelegate.h"

#import "ViewController.h"

@interface AppDelegate ()

@end

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    ViewController *viewController = [[ViewController alloc] init];

    self.window.rootViewController = viewController;

    [self.window makeKeyAndVisible];

    return YES;

}

end

封装的引导页RunPageController.h文件

#import <UIKit/UIKit.h>

@protocol RunPageControllerDelegate <NSObject>

-(void)OnButtonClick;

@end

@interface RunPageController : UIView

@property id<RunPageControllerDelegate>delegate;

@end

 引导页RunPageController.m文件

//
//  RunPageController.m
//  HandCircle
//
//  Created by SR-APP-6 on 15/9/26.
//  Copyright (c) 2015年 SR-APP-6. All rights reserved.
//

#import "RunPageController.h"
#import "Common.h"
@interface RunPageController()<UIScrollViewDelegate>
@property (nonatomic, strong)UIScrollView *runScrollView;
@property (nonatomic, strong)UIPageControl *pageController;
@property UIButton *onButton;


@end
@implementation RunPageController

- (instancetype)initWithFrame:(CGRect)frame{
    self = [super initWithFrame:frame];
    if (self) {
        self.runScrollView = [[UIScrollView alloc] initWithFrame:self.frame];
        self.runScrollView.pagingEnabled = YES;
        self.runScrollView.contentSize = CGSizeMake(self.frame.size.width * 3, self.frame.size.height);
        [self addSubview:self.runScrollView];
        self.pageController = [[UIPageControl alloc] initWithFrame:CGRectMake(0, self.frame.size.height*.8, self.frame.size.width, 10)];
        self.pageController.currentPageIndicatorTintColor = [UIColor greenColor];
        self.pageController.numberOfPages = 3;
        [self addSubview:self.pageController];
        CGPoint scrollPoint = CGPointMake(0, 0);
        [self.runScrollView setContentOffset:scrollPoint animated:YES];
        //添加引导页
        [self creatOne];
        [self creatTwo];
        [self creatThree];
            }
    return self;
}
#pragma mark -- 点击进入
- (void)onButtonGO{
    [self.delegate OnButtonClick];
}
#pragma mark --UIScrollViewDelegate
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
    CGFloat PageIndictor = self.runScrollView.contentOffset.x/MAINVIEWWIDTH;
    self.pageController.currentPage = roundf(PageIndictor);
}
#pragma mark -- 添加启动页
- (void)creatOne{
    UIImageView *imageView= [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"0启动页1"]];
    imageView.frame = CGRectMake(0, 0, MAINVIEWWIDTH, MAINVIEWHEIGHT);
    imageView.contentMode = UIViewContentModeScaleAspectFit;
    self.runScrollView.delegate = self;
    [self.runScrollView addSubview:imageView];
}
- (void)creatTwo{
    UIImageView *imageView= [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"0启动页2"]];
    imageView.frame = CGRectMake(MAINVIEWWIDTH, 0, MAINVIEWWIDTH, MAINVIEWHEIGHT);
    imageView.contentMode = UIViewContentModeScaleAspectFit;
    self.runScrollView.delegate = self;
    [self.runScrollView addSubview:imageView];
}

- (void)creatThree{
    UIImageView *imageView= [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"0启动页3"]];
    imageView.frame = CGRectMake(MAINVIEWWIDTH * 2, 0, MAINVIEWWIDTH, MAINVIEWHEIGHT);
    imageView.contentMode = UIViewContentModeScaleAspectFit;
    self.runScrollView.delegate = self;
    [self.runScrollView addSubview:imageView];
    self.onButton = [[UIButton alloc] initWithFrame:CGRectMake(MAINVIEWWIDTH/2 - 50, MAINVIEWHEIGHT * 0.8, 100, 50)];
    [self.onButton setTitle:@"立即进入" forState:UIControlStateNormal];
    [self.onButton addTarget:self action:@selector(onButtonGO) forControlEvents:UIControlEventTouchUpInside];
    self.onButton.backgroundColor = [UIColor greenColor];
    imageView.userInteractionEnabled = YES;
    [imageView addSubview:self.onButton];

}






@end

 控制器实现的代码。

//
//  ViewController.m
//  HandCircle
//
//  Created by SR-APP-6 on 15/9/26.
//  Copyright (c) 2015年 SR-APP-6. All rights reserved.
//

#import "ViewController.h"
#import "RunPageController.h"
@interface ViewController ()<RunPageControllerDelegate>
@property RunPageController *RunPageControllerView;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    self.view.backgroundColor = [UIColor clearColor];
    self.RunPageControllerView = [[RunPageController alloc] initWithFrame:self.view.frame];
    self.RunPageControllerView.delegate = self;
    [self.view addSubview:self.RunPageControllerView];
}
#pragma mark -- RunPageControllerDelegate
-(void)OnButtonClick{
    [UIView animateWithDuration:0.5 animations:^{
        self.RunPageControllerView.alpha = 0;
    } completion:^(BOOL finished) {
        [self.RunPageControllerView removeFromSuperview];
    }];
}
- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

下面是源码连接地址:http://pan.baidu.com/s/1mh42HeC

原文地址:https://www.cnblogs.com/DLS520/p/5093506.html