制作引导页[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上移除掉

很简单,对吧:)

时间: 2024-09-10 07:29:30

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

制作引导页[2]

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

制作引导页[3]

制作引导页[3] 第三种方法是将整个引导页写到一个controller中,是通用性最高的一种写法:) 效果: 源码: AppDelegate.m // // AppDelegate.m // Show // // Copyright (c) 2014年 Y.X. All rights reserved. // #import "AppDelegate.h" #import "WelcomeViewController.h" @implementation AppDe

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

      应用程序APP一般都有引导页,引导页可以作为操作指南指导用户熟悉使用:也可以展现给用户,让用户了解APP的功能作用.引导页制作简单,一般只需要一组图片,再把图片组展现出来就可以了.展示图片组常用UIScrollView来分页显示,并且由UIPageControl页面控制器控制显示当前页.UIScrollView和UIPageControl搭配会更加完美地展现引导页的功能作用.下面我们来看具体的实例: 我们用NSUserDefaults类来判断程序是不是第一次启动或是否更新,在 App

3秒即灭,APP引导页如何闪亮

  大家原谅我健忘的大脑,一直想写App经验总结,却不知道从何说起,真是对不起群众,对不起组织,对不起俺的一个好肾.这也不能完全怪俺,小学的时候语文就没考过100分,害怕写的浅了不疼不痒,浪费看官们 陪女朋友的时间;写的太深了吧,咱又不是大老粗搞学术研究. 看官不要着急,咸淡结束,这就进入正题. 今天主讲:如何做App安装引导页(心急的同学可以直接跳转到第二部分) 一个好的App引导页,能够最迅速地抓住使用者的眼球,让他们快速了解App的价值和功能,起到很好地润滑和引导作用.一句话说的好,好的u

移动界面设计技巧:引导页设计技巧总结

文章描述:引导是带领用户更快速更愉悦地达到目标的过程,能在用户使用产品遇到障碍之前给予及时的帮助.在移动互联网的产品的设计中,新手引导的设计则是在用户初次使用该移动产品时,给予的一些必须性的帮助以使得用户能快速愉悦地了解这个产品的功能与具体操作方式.为了完成不 前言: 引导是带领用户更快速更愉悦地达到目标的过程,能在用户使用产品遇到障碍之前给予及时的帮助.在移动互联网的产品的设计中,新手引导的设计则是在用户初次使用该移动产品时,给予的一些必须性的帮助以使得用户能快速愉悦地了解这个产品的功能与具体

jQuery插件pagewalkthrough实现引导页效果

  这篇文章主要介绍了jQuery插件pagewalkthrough实现引导页效果的方法和示例代码,十分的详细和实用,有需要的小伙伴可以参考下. 现在很多网站不仅是介绍,更多的是有一些功能,怎么样让客户快速的知道网站有哪些功能呢?这里pagewalkthrough.js插件能帮我们实现,它是一个轻量级的jQuery插件,它可以帮助我们创建一个遮罩引导层,实现页面功能引导功能,引导完成显示页面内容. html代码: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

怎么制作带有页小计的Excel数据表

怎么制作带有页小计的Excel数据表           类似的打印样式在一些财务软件中已经实现了,那咱们能不能用Excel自带的功能实现这样的效果呢. 已经有高手用VBA代码或是小工具能够实现.但是对于多数表亲来说,用VBA代码操作起来会有点难度. 以下图为例,假定我们需要每页打印40行内容. 一.创建辅助列 右键单击A列列标,在下拉列表中选择[插入],插入一个空白列. A1输入列标题"辅助",A2输入公式: =INT(ROW(A40)/40) 双击A2单元格右下角的填充柄,将公式快

怎么让引导页不再是无用小透明?

  以为引导页的存在仅仅是简单的新功能罗列?那就大错特错了,优秀的引导页不仅能帮助用户认知产品,打造品牌,甚至能产生情感共鸣.如何一步步做到这3个要求?接下来腾讯的同学通过一些案例并结合来电的引导来告诉你如何炼成人见人爱的好引导. 前言 在接触一款新应用的时候用户常常会看到一些引导页,但在操作的时候直接当透明的就快速滑过或跳过了,这种时候,大家一定会有"这些引导好无用啊"的无力感,目前甚至有着"如果一个产品需要引导,说明该产品缺乏友好的元素"这样的说法,看似有理,但

ppt怎样制作翻页效果

  ppt制作翻页效果的方法: 首先我们打开PPT,准备好一个空白的文档 接下来绘制书页,自选图形--星与旗帜--波形,在空白页添加该图形之后,调整它的形状(控制黄色小图标拉到合适的形状).大小(不超过空白页的一半).背景色{米色:255 250 240}.边框{线型:3磅;颜色:橙色},如图: 接下来我们将绘制好的书页复制一份,拉到左边,然后180度旋转,这样我们就完成了序和第一页的绘制,同样的方法,我们将第三页和第四页也绘制好,并设置好叠放次序. 为了美观,我们绘制一下书的中轴线,首先我们在