• 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

  • 相关阅读:
    信息反馈--冲刺12
    大道至简阅读笔记02
    信息反馈—冲刺11
    第十二周总结
    大道至简阅读笔记01
    小白学习站点
    校园服务第一阶段意见评论
    第十一周总结
    信息反馈--冲刺10
    信息反馈--冲刺09
  • 原文地址:https://www.cnblogs.com/DLS520/p/5093506.html
Copyright © 2020-2023  润新知