广告界面

作者: 尕小天 | 来源:发表于2016-07-29 10:14 被阅读77次

    一.广告界面业务逻辑

    1.什么时候进入广告界面(程序启动完成的时候,进入广告界面)

    为什么?程序启动的时候,我们没有办法处理,苹果没有提供对应API.

    2.设置窗口根控制器为广告控制器

    为什么?一开始想显示谁,就设置谁为窗口根控制器,因为窗口在显示的时候,会自动把根控制器的view添加窗口

    二.搭建广告界面

    1. 理清楚界面层次结构(3层:启动图片界面,广告界面,按钮)

    2.占位视图思想:当层次结构清楚,但是某一层还不确定内容,可以采取占位视图,搞一个UIView占这个位置,这个UIView占据整个父控件尺寸,颜色设置为透明色

    占位视图思想:当一个界面层次结构清楚,但是某些层不确定,可以采用占位视图

    3.启动图片:为什么广告界面要弄一个启动图片,欺骗用户一直在启动,从而顺其自然插入广告

    3.1 屏幕适配:每个屏幕设置对应的启动图片

    3.2 根据屏幕高度去做屏幕适配 (4:489 5:568 6:667 7:736),定义宏,为什么:方便读代码

    4.界面结构固定,可以用xib来描述,界面结构不固定,或界面内容不确定,要用代码来描述

    5.第三方框架管理      为什么使用cocoapods?

    cocoa pods:2014火

    cocoapods:管理第三方框架,怎么管理

    cocoapods:会自动导入依赖库

    cocoapods工作原理:首先在工程文件中使用podfile,podfile(描述好,当前工程需要第三方框架) ,pod install 就会自动帮你导入这个框架

    // 使用cocoapods步骤: 命令行

    // 1.在当前工程文件中,创建podfile(pod init)

    // 2.打开podfile描述下需要导入框架

    // 3.怎么知道描述,pod search AFN

    // 4.pod install

    三.加载广告数据

    1.AFN加载数据

    2.cocoapods导入AFN

    3.查看接口文档(完整url:基本url+请求参数,请求方式)

    4.验证接口,查看服务器返回数据

    5.AFN真正发送请求

    5.1 支持http      修改ATS属性

    5.2 服务器返回响应头写错(text/html),导致AFN不能响应

    修改AFN怎么修改?

    查看别人做了什么事情 : 跳方法

    查看这个类有哪些功能 : 跳类

    5.3 自定义AFN响应对象,专门解析当前app的响应数据

    //创建管理者

    AFHTTPSessionManager*manager = [AFHTTPSessionManagermanager];

    // 自定义AFN响应者对象

    AFJSONResponseSerializer*responseSerializer = [AFJSONResponseSerializerserializer];

    responseSerializer.acceptableContentTypes= [NSSetsetWithObject:@"text/html"];

    manager.responseSerializer= responseSerializer;

    6.解析数据(写成plist)

    为什么要写成plist文件?    为了方便我们读取数据的层次结构,分析数据解析的方法

    7.设计模型(界面需要什么数据,就定义什么数据)

    8.字典转模型 (MJExtension)

    9.把模型显示到界面上

    怎么做?

    9.1 在cell里面定义模型属性来接收模型数据

    9.2 在cell里面定义要接收数据的属性

    9.3 重写模型属性的set方法

    9.4 给需要接收数据的参数赋值

    10.点击广告跳转

    10.1 怎么设计?

    想要点击做一些事情,可以添加点按手势

    10.2 手势添加给谁?

    我们想要点击广告图片跳转到广告界面    点按手势可以添加给图片

    10.3 在哪里添加点按手势(写代码)?

    在AFN发送网络请求成功时,我们可以拿到图片    在这里写代码

    10.4 怎么跳转界面(打开URL)?

    可以利用[[UIApplicationsharedApplication]openURL:URL];

    注意:在打开url之前要做一次判断:[[UIApplication sharedApplication] canOpenURL:URL];

    11.广告倒计时

    11.1 为什么要做广告倒计时?

    为了方便用户不看广告,直接跳过广告

    11.2 怎么做?

    可以利用_timer=  [NSTimerscheduledTimerWithTimeInterval:1.0target:selfselector:@selector(timeChange)userInfo:nilrepeats:YES];

    11.3 计时器声明时候结束?

    当计时器读秒为0 的时候结束     结束之后就要跳转到主界面

    11.4 怎么判断读秒?

    给按钮设置一个广告时间   一般以秒为单位, 计时器每工作一次,时间就减1秒

    11.5 注意: 跳转主界面的时候,计时器就没用了,一定要关闭定时器

    11.6 怎么跳转界面?

    跳转界面方法: modal  push        设置窗口根控制器

    modal  push方法,广告界面控制器不会销毁  一直存在   消耗内存

    设置窗口跟控制器会把之前的控制器销毁

    [UIApplicationsharedApplication].keyWindow.rootViewController= tabBarVC;

    总结:

    1.每个界面开发流程:1.搭建界面 2.请求数据(1.查看接口文档) 3.解析数据(设计模型) 4.字典转模型 5.把模型展示到界面上

    相关文章

      网友评论

      • 可儿家族:这个功能好讨厌,可是你需要学会更烦人。
        尕小天:@可儿家族 还好吧,只要想学,总能学会的

      本文标题:广告界面

      本文链接:https://www.haomeiwen.com/subject/sbhzjttx.html