iOS-王云鹤 APP首次启动显示用户指导
这个功能的重点就是在如何判断应用是第一次启动的. 其实很简单
我们只需要在一个类里面写好用户引导页面 基本上都是使用UIScrollView 来实现,
新建一个继承于UIViewController的类 命名为 UserGuideViewController ,
在UserGuideViewController.m 写
- (void)viewDidLoad
{
[superviewDidLoad];
// Do any additional setup after loading the view.
self.view.backgroundColor = [UIColorredColor];
[selfinitGuide];//加载新用户指导页面
}
-(void)initGuide{
, , , )];
)];
[scrollView setPagingEnabled:YES]; //视图整页显示
, , , )];
[imageview setImage:[UIImage imageNamed:@"0.png"]];
[scrollView addSubview:imageview];
[imageview release];
, , , )];
[imageview1 setImage:[UIImage imageNamed:@"1.png"]];
[scrollView addSubview:imageview1];
[imageview1 release];
, , , )];
[imageview2 setImage:[UIImage imageNamed:@"2.png"]];
[scrollView addSubview:imageview2];
[imageview2 release];
, , , )];
[imageview3 setImage:[UIImage imageNamed:@"3.png"]];
imageview3.userInteractionEnabled = YES; //打开imageview3的用户交互;否则下面的button无法响应
[scrollView addSubview:imageview3];
[imageview3 release];
UIButton *button = [UIButtonbuttonWithType:UIButtonTypeRoundedRect];//在imageview3上加载一个透明的button
[button setTitle:@"立即体验" forState:UIControlStateNormal];
[button , , , )];
[button addTarget:selfaction:@selector(firstpressed) forControlEvents:UIControlEventTouchUpInside];
[imageview3 addSubview:button];
[self.view addSubview:scrollView];
[scrollView release];
button.backgroundColor =[UIColorredColor];
}
//Button的方法 ViewController为 指导完之后 点击进入的主视图
- (void)firstpressed{
[selfpresentModalViewController:[[[ViewControlleralloc] init] autorelease] animated:YES]; //点击button跳转到根视图s
}
----------------------------------------------------------
AppDelegate.m 中的代码
#import "AppDelegate.h"
#import "ViewController.h"
@implementation AppDelegate
- (void)dealloc
{
[_window release];
//[_viewController release];
[super dealloc];
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[[UIWindowalloc] initWithFrame:[[UIScreenmainScreen] bounds]] autorelease];
//判断是不是第一次启动
if (![[NSUserDefaultsstandardUserDefaults]boolForKey:@"firstLaunch"]) {
[[NSUserDefaultsstandardUserDefaults ]setBool:YESforKey:@"firstLaunch"];
NSLog(@"第一次启动");
//如果是第一次启动 使用UserGuideViewController
UserGuideViewController *userGUideViewController =[[UserGuideViewControlleralloc]init];
self.window.rootViewController =userGUideViewController;
[userGUideViewController release];
}
else{
NSLog(@"不是第一次启动");
//如果不是第一次启动使用应用的的主视图
ViewController *Vc = [[ViewControlleralloc] init];
self.window.rootViewController = Vc;
[Vc release];
}
self.window.backgroundColor = [UIColorwhiteColor];
[self.windowmakeKeyAndVisible];
return YES;
}
iOS-王云鹤 APP首次启动显示用户指导的更多相关文章
- iOS开发之应用首次启动显示用户引导
这个功能的重点就是在如何判断应用是第一次启动的. 其实很简单 我们只需要在一个类里面写好用户引导页面 基本上都是使用UIScrollView 来实现, 新建一个继承于UIViewController ...
- iOS开发 首次启动显示用户引导,第二次启动直接进入App,UIScrollView,UIPageControl,NSUserDefaults
首先创建一个引导图的控制器类 UserGuideViewController.h和UserGuideViewController.m #import <UIKit/UIKit.h> #im ...
- ios王云鹤--iPhone中,点击换行,键盘消失。
1.要在声明文件中实现 UItextFieldDelegate 协议 2.在实现文件中实现 UItextFieldDelegate 协议 中键盘消失的方法即: -(BOOL)textFieldShou ...
- SharedPreference 存储小量数据,一般首次启动显示引导界面就用这个。
写://添加一个SharedPreference并传入数据SharedPreference sharedPreferences = getSharedPreferences("share_d ...
- 自定义App首次启动引导页
代码如下 #import"ZBGuidePageView.h" @interfaceZBGuidePageView()<UIScrollViewDelegate> @p ...
- iOS app 程序启动原理
iOS app 程序启动原理 Info.plist: 常见设置 建立一个工程后,会在Supporting files文件夹下看到一个"工程名-Info.plist"的文件, ...
- iOS开发-UIApplication和App启动状态
UIApplication简单从字面上了解就是应用程序,开发的时候有的时候会根据需要调用其中的方法,看起来不起眼,实际在iOS开发UIApplication提供了iOS程序运行期间的控制和协作工作.每 ...
- Appium 之处理首次启动手机App时的系统权限弹框
一般首次启动一个手机App时都会有系统权限弹框,如下图所示: 权限弹窗上面的按钮都是固定的,只需要定位到“ALLOW”按钮,点击就可以了,代码如下: 这里主要用selenium里面的显示等待模块(We ...
- 怎样做一个iOS App的启动分层引导动画?
一. 为什么要写这篇文章? 这是一个很古老的话题,从两年前新浪微博开始使用多层动画制作iOS App的启动引导页让人眼前一亮(当然,微博是不是历史第一个这个问题值得商榷)之后,各种类型的引导页层出不穷 ...
随机推荐
- .net下二进制序列化的格式分析[转]
.net下二进制序列化的格式分析[转] -- 综合应用 (http://www.Host01.Com/article/Net/00020003/) --- .net下二进制序列化的格式分析 (http ...
- 安卓Monkey源码分析之运行流程
在<MonkeyRunner源码分析之与Android设备通讯方式>中,我们谈及到MonkeyRunner控制目标android设备有多种方法,其中之一就是在目标机器启动一个monkey服 ...
- Net Framework中的提供的常用委托类型
.Net Framework中的提供的常用委托类型 .Net Framework中提供有一些常用的预定义委托:Action.Func.Predicate.用到委托的时候建议尽量使用这些委托类型,而 ...
- JS中childNodes深入学习
原文:JS中childNodes深入学习 <html xmlns="http://www.w3.org/1999/xhtml"> <head> <ti ...
- eclipse在使用git
一些eclipse已经自带GIt该,不要安装. 假设,再想想安装.能够卸载GIT,卸载 不同eclipse卸载是不一样的: 1.在Eclipse中依次点击菜单"Help"-> ...
- windows系统SVN和apache的下载和安装
原文:windows系统SVN和apache的下载和安装 版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://ejb3.blogbus.com/logs/107443052. ...
- 【转】android中TextAppearanceSpan的使用
android中TextAppearanceSpan的使用 Posted on April 17, 2011 在android中如何想word中一样对文字进行丰富的风格设置呢? TextAppeara ...
- SQL数据库面试题
SQL数据库面试题 1.SQL SREVER中,向一个表中插入了新数据,如何快捷的得到自增量字段的当前值 这种情况其实我们经常用到,比如我们新建了一个用户,建立完用户后我们希望马上得到这个新用户的ID ...
- hrift 的序列化机制
Thrift 个人实战--Thrift 的序列化机制 前言: Thrift作为Facebook开源的RPC框架, 通过IDL中间语言, 并借助代码生成引擎生成各种主流语言的rpc框架服务端/客户端代码 ...
- 一个自己给自己挖的MVC的坑
事情是这样的,我前几天突然想起没用过MVC提交之后刷新当前页面的方式更新View(一般情况是不会有人这么做的吧),我这人手快,就试了下,结果出现了个我想不明白的结果,Action代码如下: [Http ...