swift编程开发iOS开发收藏文档Ios

广告界面

2016-07-29  本文已影响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.把模型展示到界面上

上一篇下一篇

猜你喜欢

热点阅读