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的启动引导页让人眼前一亮(当然,微博是不是历史第一个这个问题值得商榷)之后,各种类型的引导页层出不穷 ...
随机推荐
- ASP.NET MVC基于标注特性的Model验证:一个Model,多种验证规则
原文:ASP.NET MVC基于标注特性的Model验证:一个Model,多种验证规则 对于Model验证,理想的设计应该是场景驱动的,而不是Model(类型)驱动的,也就是对于同一个Model对象, ...
- Junit指定测试运行顺序
原文链接: Test execution order原始日期: 2012年12月06日本期: 2014年7月2日翻译人员: 铁锚 说明: Junit4.11版本号及以后才支持,建议升级到最新版本号. ...
- JDK-windows7环境变量配置-亲测版本 以及HelloWorld
1.下载并安装jdk,假设安装1.6.0_45版本到C:\Program Files\Java,则安装完毕后,目录结构为: C:\PROGRAM FILES\JAVA├─jdk1.6.0_45│ ├─ ...
- Spring之SpringMVC的MethodNameResolver(源码)分析
前言 在介绍SpringMVC 的Controller的具体实现中,我们讲到了MultiActionController.在获取处理请求对于的方法的时候我们用到了下面的代码,来自于MultiActi ...
- jquery的使用 关于 option ,append,attr,val()等的使用
//遍历option和添加.移除option function changeShipMethod(shipping){ var len = $("select[@name=ISHIPTYPE ...
- 智能的API、云服务和SOA测试解决方案——Parasoft SOAtest
依赖Parasoft测试解决方案的机构,不仅有小企业,政府机构,还有世界500强集团.Parasoft公司推出的Parasoft SOAtest,提供了API.云服务和SOA最全面的测试解决方案.此次 ...
- [原] 细说 NUMA
详说 NUMA 标签(空格分隔): Cloud2.0 测试条件 两台机器: CPU: Intel(R) Xeon(R) CPU E5-2620 v3 @ 2.40GHz X 24 Intel(R) X ...
- Mike and Feet(CF 547B)
Mike and Feet time limit per test 1 second memory limit per test 256 megabytes input standard input ...
- StringTokenizer使用类
StringTokenizer它被用来分离String应用类别.当量VB的split功能. 1.构造函数 public StringTokenizer(String str) public Strin ...
- css @media认识
css2的@media css2里面尽管支持@media属性.可是能实现的功能比較少,一般仅仅用做打印的时候做特殊定义的CSS. 语法: @media sMedia { sRules } 说明: sM ...