iOS欢迎界面Launch Screen动态加载广告

有许多应用程序在打开的时候,欢迎界面会加载一张连网获取的广告图片或者显示一组动画,这样的效果是如何做到的呢?下面给大家介绍一种简单的实现加载广告的方式。

程序运行起来,欢迎界面之后,会进入AppDelegate,因此我们可以在application: didFinishLaunchingWithOptions:添加代码完成想要的效果。连网获取图片可以用第三方SDWebImage实现,所以需要先将第三方文件夹导入。因为显示广告的页面是在欢迎界面基础上显示的,因此可以直接利用LaunchScreen.xib中得view,在上面添加一个UIImageView显示图片,然后将其加在window上,并显示在最上层。广告图片显示之后,再将view移除掉,显示程序的主界面。代码如下所示:

#import "AppDelegate.h"
#import "UIImageView+WebCache.h"
@interface AppDelegate ()
@property (strong, nonatomic) UIView *lunchView;
@end

@implementation AppDelegate
@synthesize lunchView;

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    [self.window makeKeyAndVisible];

    lunchView = [[NSBundle mainBundle ]loadNibNamed:@"LaunchScreen" owner:nil options:nil][0];
    lunchView.frame = CGRectMake(0, 0, self.window.screen.bounds.size.width, self.window.screen.bounds.size.height);
    [self.window addSubview:lunchView];

    UIImageView *imageV = [[UIImageView alloc] initWithFrame:CGRectMake(0, 50, 320, 300)];
    NSString *str = @"http://www.jerehedu.com/images/temp/logo.gif";
    [imageV sd_setImageWithURL:[NSURL URLWithString:str] placeholderImage:[UIImage imageNamed:@"default1.jpg"]];
    [lunchView addSubview:imageV];

    [self.window bringSubviewToFront:lunchView];

    [NSTimer scheduledTimerWithTimeInterval:3 target:self selector:@selector(removeLun) userInfo:nil repeats:NO];

    return YES;
}

-(void)removeLun
{
    [lunchView removeFromSuperview];
}
时间: 2024-10-27 17:33:14

iOS欢迎界面Launch Screen动态加载广告的相关文章

iOS中如何在欢迎界面中动态加载广告

当我们打开一款应用程序的时候,首先映入眼帘的往往并不是程序的主界面,而是经过精心设计的欢迎界面,这个界面通常会停留几秒钟,然后消失.看似很平常的一个小小的欢迎界面,其实还大有讲究. 一 为什么会有欢迎界面呢? 这是因为程序在启动的过程中需要消耗一些时间,那么在加载出现主界面之前,会出现短暂的黑屏,这实在是很糟糕的一件事情,会给用户一个非常不好的体验.为了缓解用户等待过程中心理的不适与烦躁,欢迎界面闪亮登场了! 用欢迎界面来替代黑屏的等待,可以有效的掩盖耗时阻塞的后台操作,还能向用户展示有效的信息

IOS嵌套界面下 -UIWebView加载网页显示不全(尺寸适应问题)

最近有个朋友碰到一个关于在嵌套界面下UIWebView加载网页显示不全的问题 咋一看这种问题太easy了.但是不要忽视其背后的真正黑手,现在拿百度首页做个实验(百度就是这点好)先贴上一小段核心代码: 显示效果: 看到没 显示不全.现在你会说快用大招: 解决它.可惜这招也不行. 原因分析:为什么会显示不全呢? 主要问题就出在前面说的关于在嵌套界面下. 可为什么在嵌套界面下就不行呢? 显示不全是个问题. 是的 是个问题而且是个显示界面尺寸不匹配的问题.可在主界面就这可以, 而且frame我都是用的s

百思不得姐启动页面实现 广告的推广 动态加载广告

1. 使用Launch Screen.storyboard 2.如果你的根控制器是tabbarController,就在tabbarController里的viewDidAppear里加入如下代码 - (void)viewDidAppear:(BOOL)animated{    [super viewDidAppear:animated];    if (self.index == 0) {   // 这个标记用于标记是否是第一次启动App        UIViewController *vi

ios ableviewcell的动态加载数据,模仿喜马拉雅动态数据加载

iphone(UITableViewCell)动态加载图片http://developer.apple.com/library/ios/#samplecode/LazyTableImages/Introduction/Intro.html其实在iphone上面是实现图片的动态加载,其实也不是很难,其中只要在代理中实现方法就可以首先在头文件中声明使用到的代理 如  @interface XXX : UIViewController<UIScrollViewDelegate>然后在.m中实现//滚

界面动态加载时报NullPointException

今天在做环境监测的模拟软件时,登陆页面报NullPointException 一般像我们初始化Button时,是Button btn=(Button)findViewById(R.id.button1); 其实完整的写法应该是 Button btn=(Button)this.findViewById(R.id.button1); 但是在onCreate里面,this可以省略. 在自定义的界面动态加载时,需要这样写: EditText et=(EditText)layout.findViewByI

IOS 使用动态库(dylib)和动态加载framework

在iphone上使用动态库的多为dylib文件,这些文件使用标准的dlopen方式来使用是可以的.那相同的在使用framework文件也可以当做动态库的方式来动态加载,这样就可以比较自由的使用apple私有的framework了. dlopen是打开库文件 dlsym是获取函数地址 dlclose是关闭. 当然,要使用这种方式也是有明显缺陷的,那就是你要知道函数名和参数,否则无法继续. 私有库的头文件可以使用class dump的方式导出来,这个详细的就需要google了. 下面是两个使用的例子

EasyUi -- 如何根据动态加载panel和Datagrid

在做项目的过程中,前台的面板和表格一般都不是固定的,它是根据后台传来的数据进行变化的.举个例子: 实现: 看一下我们的效果图: 这个上面的最左边的Panel要根据系别动态加载,有多少个系别就要加载都少个Panel,Panel里面的是一个table,这个里面也是动态加载出来. 右边是一个datagrid,datagrid里面的工作效率.业务能力等等也都是数据库动态加载出来的,包括后面的ABCD也是动态的. 这样就算数据库中的数据怎么变,这里都会动态地加载出来.那么怎么实现这些功能呢? 一.动态加载

Android动态加载XML文件及控件来简单实现QQ好友印象的功能

在android开发中,我们常常会遇到界面布局控件不确定的情况.由于某些功能的原因或者为了体现某些app的特色等这些原因会导致我们在实现界面布局时需要动态去加载一些控件,那么下面就来介绍一下如何用动态加载控件来简单实现QQ中好友印象的功能,其中也会提到如何来动态加载一个XML的配置文件. 那么要实现好友印象的功能,我们需要通过以下这几个步骤: 1.界面一开始需要加载一个EditText和Button控件,用于填写好友印象和添加好友印象: 2.需要新建一个arrays.xml,在xml文件中添加上

虚幻4的关卡动态加载机制

对于大型游戏MMORPG游戏或是3D街景(虚拟现实)还有大型无缝地图都需要地图啊,关卡动态加载的机制来达到让用户感觉自己一直是在漫游,而不会出现Loading(读条),卡界面等情况.当然除非是垮区域无法依靠关卡和关卡中之间的关系做处理. UnrealEngine4 作为一个多年处于世界前矛的商业引擎,自然而然也为大家考虑到这个这种硬性需求.UnrealEngine4 中的动态加载大概分为3种. 首先需要明确下几点概念.因为再同学们信息会等的前提下才会更有利于理解和相互交流.好了,不瞎扯了进入正题