添加引导页 (引导页的图片根据网络请求获取,张数不一定)
来源:互联网 发布:日本 首都 知乎 编辑:程序博客网 时间:2024/05/01 18:35
程序通常会有启动页和引导页.
启动页每一次运行程序都会有;
引导页只有在程序第一次运行时,才有.
下面说一下我做的引导页的过程
在AppDelegate里面.h文件中
@interface AppDelegate :UIResponder <UIApplicationDelegate,UIAlertViewDelegate,UIScrollViewDelegate>
{
FirstSingleData *userData;
UIScrollView * introduceView;
UIImageView * lastView;
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window.backgroundColor = [UIColor whiteColor];
[self.windowmakeKeyAndVisible];//一定要在这行代码之后加引导页
//数据类
userData = [FirstSingleData shardFirst];
[userDatagetFirstList];
//添加引导页
[selfaddGuideView];
returnYES;
}//引导页只执行一次
- (void)addGuideView
{
// 读取沙盒数据
NSUserDefaults * settings1 = [NSUserDefaultsstandardUserDefaults];
NSString *key1 = @"is_first";
NSString *value = [settings1 objectForKey:key1];
// 如果没有数据
if (!value)
{
// 加入引导页
[selfaddIntroView];
// 写入数据
NSUserDefaults * setting = [NSUserDefaultsstandardUserDefaults];
NSString * key = @"is_first";
[setting setObject:[NSStringstringWithFormat:@"false"]forKey:key];
[settingsynchronize];
}else{
//如果不是第一次运行程序,直接进入主页面
MyTabBarViewController * root = [[[MyTabBarViewControlleralloc]init]autorelease];
[root.tabBarsetHidden:YES];
[self.windowsetRootViewController:root];
}
}
//添加引导页
- (void)addIntroView
{
//判断屏幕尺寸
float height = 0.0;
if (iPhone5) {
height =568;
}else{
height =480;
}
//图片路径的数组
NSMutableArray * imageArray = [userData.dataDicobjectForKey:@"guide"];
introduceView = [[UIScrollViewalloc] initWithFrame:CGRectMake(0,0, 320, height)];
introduceView.showsHorizontalScrollIndicator =NO;
introduceView.contentSize =CGSizeMake(320 * imageArray.count,0);
introduceView.pagingEnabled =YES;
introduceView.bounces =NO;
introduceView.delegate =self;
[self.windowaddSubview:introduceView];
[introduceViewrelease];
for (int i =0; i < [imageArray count]; i++){
NSDictionary * dic = [imageArray objectAtIndex:i];
UIImageView * scrollImage = [[UIImageViewalloc]initWithFrame:CGRectMake(320*i,0, 320, height)];
if (height == 568) {
NSString * imagePath = [dic objectForKey:@"imgPath1"];
NSLog(@"image%d = %@",i,imagePath);
if (i == 0) {
//由于第一次运行时,启动页运行完,会出现空白一段时间,原因是因为引导页的第一张图片没加载完成,
为了让视觉效果更好,启动页结束马上看到引导页,有连贯的效果,将引导页的第一张图片的placeHoder给
跟启动页一样的图片,这样就解决了这个问题.
[scrollImagesetImageWithURL:[NSURLURLWithString:[selfimageAddHandle:imagePath]]placeholderImage:[UIImageimageNamed:@"Default-568h@2x.png"]];
}else{
[scrollImagesetImageWithURL:[NSURLURLWithString:[selfimageAddHandle:imagePath]]placeholderImage:nil];
}
}elseif (height == 480){
NSString * imagePath = [dic objectForKey:@"imgPath2"];
if (i == 0) {
[scrollImagesetImageWithURL:[NSURLURLWithString:[selfimageAddHandle:imagePath]]placeholderImage:[UIImageimageNamed:@"Default@2x"]];
}else{
[scrollImagesetImageWithURL:[NSURLURLWithString:[selfimageAddHandle:imagePath]]placeholderImage:nil];
}
}
scrollImage.tag =300 + i;
[introduceViewaddSubview:scrollImage];
[scrollImagerelease];
}
//获取最后一张图片
lastView = (UIImageView *)[introduceViewviewWithTag:imageArray.count -1 + 300];
lastView.userInteractionEnabled =YES;
//给最后一张图片添加点击进入的手势
UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizeralloc] init];
[tapGestureRecognizeraddTarget:selfaction:@selector(gestureRecognizerHandle:)];
[tapGestureRecognizersetNumberOfTapsRequired:1];
[tapGestureRecognizersetNumberOfTouchesRequired:1];
[lastViewaddGestureRecognizer:tapGestureRecognizer];
[tapGestureRecognizerrelease];
}
- (void)gestureRecognizerHandle:(UITapGestureRecognizer *)gesture{
//移除引导页
[introduceViewremoveFromSuperview];
//进入主页面
MyTabBarViewController * root = [[[MyTabBarViewControlleralloc]init]autorelease];
[root.tabBarsetHidden:YES];
[self.windowsetRootViewController:root];
}
//对图片的路径进行处理
- (NSString *)imageAddHandle:(NSString *)aString {
NSString *tempBgSkinPicUrlLString = [aString substringFromIndex:9];
NSString *tempNewBgSkinPicUrlLString = [SERVERADDstringByAppendingString:tempBgSkinPicUrlLString];
return tempNewBgSkinPicUrlLString;
}
- 添加引导页 (引导页的图片根据网络请求获取,张数不一定)
- android图片引导页
- 细数那些精彩纷呈的引导页
- iOS之引导页的添加
- storyboard项目添加引导页
- iOS 如何添加引导页
- app如何添加引导页。
- Android引导页、图片选择器
- 引人入胜的引导页
- 引导页的介绍
- 引导页的铺设
- 好看的引导页
- 引导页的使用
- 引导页的显示
- 引导页的实现
- Xcode7添加引导页及手动创建引导页的实现
- 引导页
- 引导页
- Windows消息大全
- LG的Optimus 3D预订构建多任务手机
- LG擎天柱540亿吨
- Alfresco中Search In Folder功能(在指定文件夹下搜索文件)
- ASP从零开始学习笔记(一)
- 添加引导页 (引导页的图片根据网络请求获取,张数不一定)
- springmvc入门例子(AbstractCommandController)
- 10招教您做好B2B行业网站产品经理
- 大数据时代,智能搜索懂你心
- ubuntu下memcached的安装
- Android 选择文件上传
- VisualSvn Server介绍
- Java使用LdAP获取AD域用户
- iOS应用程序性能的提示和技巧