转载

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

正文到此结束
Loading...