制作引导页[3]

第三种方法是将整个引导页写到一个controller中,是通用性最高的一种写法:)

效果:

源码:

AppDelegate.m

//
//  AppDelegate.m
//  Show
//
//  Copyright (c) 2014年 Y.X. All rights reserved.
//

#import "AppDelegate.h"
#import "WelcomeViewController.h"

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    // 接管控制器
    self.window.rootViewController = [WelcomeViewController new];
    self.window.backgroundColor = [UIColor whiteColor];

    // 让视图可见
    [self.window makeKeyAndVisible];

    return YES;
}

@end

WelcomeViewController.m

//
//  WelcomeViewController.m
//  Show
//
//  Copyright (c) 2014年 Y.X. All rights reserved.
//

#import "WelcomeViewController.h"
#import "RootViewController.h"

@interface WelcomeViewController ()

@end

@implementation WelcomeViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
}

- (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.window.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];

        // 切换视图控制器
        self.view.window.rootViewController = [RootViewController new];
    }];
}

@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];
    [UIView animateWithDuration:2 animations:^{
        self.view.backgroundColor = [UIColor blackColor];
    }];
}

@end

几个需要注意的地方:

动画结束后要切换视图控制器

过渡更自然

总结:

这几篇教程制作引导页的核心都是在UIWindow上加载视图或者视图控制器,就是这么容易哦:)

制作引导页[3]

时间: 2024-08-04 06:50:29

制作引导页[3]的相关文章

制作引导页[2]

第二种制作引导页的方式,是直接在AppDelegate.m方法中进行的,在AppDelegate方法中,当视图控制器变得可视化的时候时候,我们就把引导页添加上. 效果还是一模一样的哦,只是比第一种方法更好而已:) 源码: // // AppDelegate.m // Show // // Copyright (c) 2014年 Y.X. All rights reserved. // #import "AppDelegate.h" #import "RootViewContr

制作引导页[1]

制作引导页的核心都是将视图控件加载在UIWindow上显示,在制作引导页[1]中,我们先用最容易理解的方式来制作引导页:) 效果: 源码: AppDelegate.m // // AppDelegate.m // Show // // Copyright (c) 2014年 Y.X. All rights reserved. // #import "AppDelegate.h" #import "RootViewController.h" @implementati

windows phone制作引导页

适用于WP7 WP8+ 源码下载撸这里 制作动画gif小软件下载 小技巧 ①图片是纯色背景:将页面设置跟图片背景一样颜色 ②图片是渐变or其他,切图时候:单独切背景(页面设置这个为背景)跟图片里面元素(透明背景) 1.Pivot控件(代码在下载包里面) 先看效果 毫无疑问,图片过度之间动画效果太差,不能满足哥要求... 2.panroma也称为全景控件(代码在下载包里面) 相比pivot控件 图片切换之间有缝连接,给人感觉不会有那么空虚.可惜启动有个动画效果,因为这点哥把它抛弃了. (找了大半天

Storyboard中使用Autolayout制作引导页实战(二)

18.设置好宽高以及下边界约束 19.因为按钮需要显示在第三张图上,我们把它设置为在第三张图上水平居中显示.同时选中按钮和第三张图. 20.选择Align项,弹出菜单选"Horizontal Centers" 21.至此,全部设置完毕.为了方便看到效果,将三张图片设置不同的颜色. 22.运行一下,看看效果吧. 以上演示希望能帮到你.如果有任何疑问,请在评论中留言,我看到会回复.

iOS开发 UIScrollView制作APP引导页

http://jingyan.baidu.com/article/4dc40848a341dfc8d846f152.html 听语音 | 浏览:4606 | 更新:2015-02-10 12:14 | 标签:制作 1 2 3 4 5 6 7 分步阅读 一键约师傅 百度师傅最快的到家服务,最优质的电脑清灰! 应用程序APP一般都有引导页,引导页可以作为操作指南指导用户熟悉使用:也可以展现给用户,让用户了解APP的功能作用.引导页制作简单,一般只需要一组图片,再把图片组展现出来就可以了.展示图片组常

iOS App初次启动时的用户引导页制作实例分享

iOS App初次启动时的用户引导页制作实例分享 作者:老初 字体:[增加 减小] 类型:转载 时间:2016-03-09我要评论 这篇文章主要介绍了iOS App初次启动时的用户引导页制作实例分享,其中判断程序是否是第一次或版本更新以后第一次启动是一个关键点,需要的朋友可以参考下 应用程序APP一般都有引导页,引导页可以作为操作指南指导用户熟悉使用:也可以展现给用户,让用户了解APP的功能作用.引导页制作简单,一般只需要一组图片,再把图片组展现出来就可以了.展示图片组常用UIScrollVie

Xamarin.Android之引导页的简单制作

0x01 前言 对于现在大部分的APP,第一次打开刚安装或更新安装的APP都会有几个引导界面,通常这几个引导页是告诉用户 APP有些什么功能或者修改了什么bug.新增了什么功能等等等. 下面就用Xamarin.Android来简单实现一下.主要用到的是ViewPager,当然也就离不开Xamarin.Android.Support.v4 如果遇到不能编译的问题,可以参考Xamarin.Android之简单的抽屉布局的出错处理方案. 0x02 页面布局编写 新建一个Android项目 添加几个简单

Android引导页设计

大家在安装好一个应用后,第一次打开时往往会出现一个使用引导页,形式一般为三.四张图片,随着我们的滑动进行切换,在最后一页会有一个进入应用的按钮,我们通过点击这个按钮可以进入应用,其实这其中没有太多的复杂的地方,切换的完成就是一个ViewPager,说了这么多,下面开始为大家解读代码: 开始我们的设计之前我们需要做一些准备工作,首先我们新建一个工程,然后选择工程通过右键单击properties,然后选择Java Build Path,点击右侧Libraries,再点击Add jar,将我们工程li

网站的引导页介绍

外贸企业站就是要走出过门,买域名,买空间的.请设计公司.请这请那,一切的努力都是要为了能通过网站给公司带来订单,“一分耕耘一分收获”,但是耕耘了未必就有收获,很多企业站点建好了,可是并没有发现,它所给企业带来的订单.当然,这其中的原因有很多,可能是网站设计不合理?可能是SEO优化没做好?当提到SEO优化的时候,很多人不是很理解,认为那是专门研究SEO的人所讨论的话题,如果你是这样认为的,那么,你就out了,若你想让你的网站在搜索引擎里获得高排名,优化网页时,一定要记住这些重要的环节! 1.少用f