首页 > 代码库 > 制作引导页[1]

制作引导页[1]

制作引导页[1]

制作引导页的核心都是将视图控件加载在UIWindow上显示,在制作引导页[1]中,我们先用最容易理解的方式来制作引导页:)

效果:

源码:

AppDelegate.m

////  AppDelegate.m//  Show////  Copyright (c) 2014年 Y.X. All rights reserved.//#import "AppDelegate.h"#import "RootViewController.h"@implementation AppDelegate- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];    self.window.rootViewController = [RootViewController new];        self.window.backgroundColor = [UIColor whiteColor];    [self.window makeKeyAndVisible];    return YES;}@end

RootViewController.m

////  RootViewController.m//  Show////  Copyright (c) 2014年 Y.X. All rights reserved.//#import "RootViewController.h"@interface RootViewController ()@end@implementation RootViewController- (void)viewDidLoad{    [super viewDidLoad];    self.view.backgroundColor = [UIColor whiteColor];}- (void)viewDidAppear:(BOOL)animated{    // 保证只运行一次    [self scrollView];}- (void)scrollView{    CGRect rect    = self.view.window.bounds;    CGFloat width  = rect.size.width;    CGFloat height = rect.size.height;        // 初始化scrollView    UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:rect];    scrollView.pagingEnabled = YES;    scrollView.tag           = 0x77;    scrollView.contentSize   = CGSizeMake(width * 3, height);        // 添加一些控件    for (int i = 0; i < 3; i++)    {        UIView *tmp         = [[UIView alloc] initWithFrame:CGRectMake(i*width, 0, width, height)];        tmp.backgroundColor = [UIColor colorWithRed:arc4random()%255/255.f                                              green:arc4random()%255/255.f                                               blue:arc4random()%255/255.f                                              alpha:1];                if (i == 2)        {            YXButton *button = [[YXButton alloc] initWithFrame:CGRectMake(0, 0, 140, 30)];            button.titleLabel.font = [UIFont fontWithName:@"HelveticaNeue-Thin"                                                     size:20.f];            button.layer.cornerRadius = 3.f;            [button addTarget:self                       action:@selector(buttonEvent:)             forControlEvents:UIControlEventTouchUpInside];            [button setBackgroundColor:[UIColor blackColor]            highlightedBackgroundColor:[UIColor whiteColor]];            [button setNormalTitleColor:[UIColor whiteColor]                  highlightedTitleColor:[UIColor blackColor]                     disabledTitleColor:nil];            [button setNormalTitle:@"YouXianMing"                  highlightedTitle:@"YouXianMing"                     disabledTitle:@"YouXianMing"];            button.center = self.view.center;            [tmp addSubview:button];        }                [scrollView addSubview:tmp];    }        // 添加到UIWindow当中    [self.view.window addSubview:scrollView];}- (void)buttonEvent:(UIButton *)button{    UIScrollView *scrollView = (UIScrollView *)[self.view.window viewWithTag:0x77];    scrollView.userInteractionEnabled = NO;        // 动画    [UIView animateWithDuration:2.0 animations:^{        scrollView.alpha = 0.f;    } completion:^(BOOL finished) {        // 从UIWindow上移除这个scrollView        [scrollView removeFromSuperview];    }];}@end

几个需要注意的地方:

在RootViewController的viewDidAppear方法中加载(因为只有在viewDidAppear的时候UIWindow才会接管这个RootViewController)

要确保添加在UIWindow上

最后记得从UIWindow上移除掉

很简单,对吧:)