启动图后面 添加有倒计时的广告图

今天闲来无事,看到很多APP在启动图后面添加了广告图,今天就动手做了一下,

刚开始,打算用通知在APPdelegate中添加这个图片,但是尝试后发现,效果不是很理想;就在rootVC中进行操作了

直接上代码:

-(void)gotoImage
{
     self.window =  [[UIApplication sharedApplication].delegate window];

    self.mianImageview = [[UIImageView alloc]init];
    _mianImageview.image = [UIImage imageNamed:@"mianimage.jpg"];
    _mianImageview.frame = _window.bounds;
    _mianImageview.tag = 100;
    _mianImageview.userInteractionEnabled = YES;
    [_window addSubview:_mianImageview];

    UITapGestureRecognizer *pan = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(clickmianimage)];
    pan.numberOfTouchesRequired = 1;
    pan.numberOfTapsRequired = 1;
    [_mianImageview addGestureRecognizer:pan];

    //创建UILabel 添加到当前view
    _labelText=[[UILabel alloc]initWithFrame:CGRectMake(40, MYScreenH-100, 80, 30)];
    _labelText.backgroundColor = [UIColor redColor];
    _labelText.textAlignment = NSTextAlignmentCenter;
    [_mianImageview addSubview:_labelText];

    //设置倒计时总时长
    _secondsCountDown = 2;//60秒倒计时
    //开始倒计时
    _countDownTimer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(timeFireMethod) userInfo:nil repeats:YES]; //启动倒计时后会每秒钟调用一次方法 timeFireMethod

    //设置倒计时显示的时间
    _labelText.text=[NSString stringWithFormat:@"%ldS",(long)_secondsCountDown];

    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{

        for (UIView *subviews in [_window subviews]) {
            if (subviews.tag ==100) {

                    [UIView animateWithDuration:1.0 animations:^{

                        CGPoint center = _mianImageview.center;
                        _mianImageview.width = 10000;
                        _mianImageview.height = 10000;
                        _mianImageview.center = center;

                        subviews.alpha = 0;

                    } completion:^(BOOL finished) {

                        [subviews removeFromSuperview];

                    }];
                }

            }

    });
}

这个方法在viewdidload:中调用;

倒计时的方法,每秒就调用一次:

-(void)timeFireMethod{
    //倒计时-1
    _secondsCountDown--;
    //修改倒计时标签现实内容
    _labelText.text=[NSString stringWithFormat:@"%ldS",(long)_secondsCountDown];
    //当倒计时到0时,做需要的操作,比如验证码过期不能提交
    if(_secondsCountDown==-1){

        [_countDownTimer invalidate];
        [_labelText removeFromSuperview];
    }
}

下面的这个方法是这个广告图的点击方法,一般是跳到广告详情的,我在这里只是提前隐藏广告图

-(void)clickmianimage
{
        for (UIView *subviews in [_window subviews]) {
            if (subviews.tag ==100) {

                [UIView animateWithDuration:0.5 animations:^{

                    CGPoint center = _mianImageview.center;
                    _mianImageview.width = 10000;
                    _mianImageview.height = 10000;
                    _mianImageview.center = center;

                    subviews.alpha = 0;

                } completion:^(BOOL finished) {

                    [subviews removeFromSuperview];

                }];
            }

        }

}

如果大神发现有什么问题,求在评论中指出:谢谢指教!

时间: 2024-08-12 01:58:07

启动图后面 添加有倒计时的广告图的相关文章

iOS启动图和开屏广告图,类似网易

iOS启动图和开屏广告图,类似网易 启动图是在iOS开发过程中必不可少的一个部分,很多app在启动图之后会有一张自定义的开屏广告图,点击该广告图可以跳转到广告图对应的页面.今天呢,和大家分享一下如何添加这张广告图以及点击广告图的跳转.这个广告图是通过将UIImageView添加到UIWindow上实现的. 一.添加本地启动图 1.准备好本地图片 2.找到工程中的Images.xcassets文件,打开LaunchImage,将图片拖到对应的地方,如下图: 3.将LaunchScreen.stor

原生JS实现各种经典网页特效——Banner图滚动、选项卡切换、广告弹窗等

在制作网页过程中,我们可能会遇到各种常用的经典网页特效,比如Banner图片滚动.选项卡循环播放.右下角广告弹窗.评论提交展示.选项动态增删.剪刀石头布小游戏等等等...是不是感觉都见到过这些场景.那些这些场景都是如何实现的呢?今天,小瑞老师就一口气把所有经典网页特效效果送给大家!!!          全部都是原生JS实现哦~~根本不需要什么JQuery.AngularJS等各种类库,是不是很激动,让我们开始吧~         Tips: 可以收藏博客,保存源码,关键时刻Ctrl+C哦~[微

Tableau小技巧-如何在柱状堆积图上方添加分类汇总

怎样利用tableau在柱状堆积图上方添加分类汇总 在柱状图上午显示数据标签,只需要将标签设置为"显示标记标签":但是有些时候柱状图需要按照某些维度进行细分,此时在使用标签设置,显示的结果是给每个细分板块添加上了标签,而看不到汇总的数据. 以下我们可以通过添加参考线来进行设置: 1.右键点击纵轴,选择"添加参考线" 2.在弹出的参考线设置对话框中按下图进行设置 选择 "线", 范围选择 "每单元格", 线选项,设定值为&quo

怎么样用CAD快速看图软件添加标签

同PDF文件一样,CAD文件也需要自己的看图软件,但CAD文件却要比PDF文件复杂的多,在CAD快速看图软件中,我们该怎么样添加标签呢?本期教大家CAD快速看图软件添加标签方法. 1.想要给CAD添加标签,我们需要先下载安装一款CAD编辑工具,这里可以在浏览器中搜素迅捷CAD编辑器,请到安装的网站下载,这里可选择官网下载软件http://cad.xjpdf.com/. 2.然后打开下载好的迅捷CAD编辑器,打开软件后,在电脑中打开要查看的CAD文件,将文件用鼠标拖拽到软件界面,此时软件已经自动切

MDT 2013 从入门到精通之启动映像添加

因近期工作及行程安排,身边没有环境,未能为大家及时补充后续内容,还请见谅. 本文紧接MDT 2013 从入门到精通之自动化部署配置一文.上文我们调整过自动化部署参数并一一介绍了相关参数意义,相应准备工作完成.接下来我们就需要将启动映像文件添加到WDS部署服务控制台中的启动映像里,完成后续部署所需任务操作.   添加启动映像: 1:打开windows部署服务控制台,右键"启动映像",选择"添加启动映像": 2:选择启动映像文件存放位置:MDT控制台更新的启动映像存放位

Centos 6&7下服务启动方法及添加到开机启动

在linux系统中,安装完一个软件或应用后,有时候需要手动启动该应用,也需要收到将该应用添加到开机启动项中,让其可以能够在linux一开机后就加载该应用 启动应用的方法 CentOS 6 : service SERVICE start|stop|restart|reload|status CentOS 7 : systemctl start|stop|restart|reload|status SERVICE 添加到开机启动项的方法 CentOS 6 : chkconfig SERVICE on

MATLAB二维绘图(二)向图中添加标题,坐标轴,图标和文字信息

MATLAB二维绘图(二)向图中添加标题,坐标轴,图标和文字信息 1.添加标题.图例.x轴信息和y轴信息,示例: %% 添加标题 clear; clc; close all; x = 0:0.1:2*pi; y1 = sin(x); y2 = exp(-x); plot(x, y1, '--*', x, y2, ':o'); xlabel('t = 0 to 2\pi'); % 添加x轴信息 ylabel('values of sin(t) and e^{-x}') % 添加y轴信息 e^{-x

Android图表库MPAndroidChart(八)——饼状图的扩展:折线饼状图

Android图表库MPAndroidChart(八)--饼状图的扩展:折线饼状图 我们接着上文,饼状图的扩展,增加折现的说明,来看下我们要实现的效果 因为之前对MPAndroidChart的熟悉,所有我们就可以直接来实现了 一.基本实现 首先,就是我们的来看下他的定义布局 <com.github.mikephil.charting.charts.PieChart android:id="@+id/mPieChart" android:layout_width="mat

最常用的UML图包括:用例图、类图、序列图、状态图、活动图、组件图和部署图

(转) 用例图 用例图描述了系统提供的一个功能单元.用例图的主要目的是帮助开发团队以一种可视化的方式理解系统的功能需求,包括基于基本流程的"角色" (actors,也就是与系统交互的其他实体)关系,以及系统内用例之间的关系.用例图一般表示出用例的组织关系--要么是整个系统的全部用例,要么是完 成具有功能(例如,所有安全管理相关的用例)的一组用例.要在用例图上显示某个用例,可绘制一个椭圆,然后将用例的名称放在椭圆的中心或椭圆下面的中间位 置.要在用例图上绘制一个角色(表示一个系统用户),