首先做这个目的是啥,哈哈哈,用户开启软件还以为是启动图呢,所以不会造成用户的反感,废话少说,No代码NoBB
首先是思路:首先,我们选择广告视图用什么方式加载,
第一种,改变控制器,程序一启动加载广告视图控制器,广告视图毫无疑问是一个控制器,
第二种,在窗口view上加载一个广告视图view挡住tabBar,然后过三秒后移除。可是广告视图因为也要做一些事情,怎么着也得有个控制器吧,你交给谁去管理?还有移除view,怎么移?什么时候移?这些都要考虑,所以还是选择第一种比较好。
我们关心的只是什么时候将这个控制器的视图展示出来,是的没错,就是在启动图播完的时候,这时候就上广告视图控制器,我做的时候是用xib,要让启动图和广告控制器的过度变得顺理成章,所以我在xib的一级v视图里放的是和启动图一样的ImageView,在二级视图上放一个透明的view用来管理广告的视图,接下来不用多说了吧,只是说几个细节
1.如果报App Transport Security 错误的,iOS9以后不支持http,只支持https,所以要在info里进行设置App Transport Security Settings,将Allow Arbitrary Loads改成YES
2.不要直接拷贝接口里的url,会有格式问题,所以要点击进去拷贝浏览器上显示的网址里的参数。
3.定时器用完一定记得销毁,因为定时器不销毁,后台会一直运行,消耗性能。定时器一般都用weak,因为系统会管理。能用weak就用weak,比较少的消耗性能。
4. 不用 static 修饰的变量,在进入循环的时候会重新刷成原来的数字,所以用 static 修饰,保证操作的是一个变量。5.定义的按钮在读秒的时候会一闪一闪的,说明按钮没有用自定义的,而系统的按钮有那种高亮状态,所以改成自定义的就行了。
在广告视图控制器加载完之后,改成tabBarControlelr使用什么方式呢?
1.Push:push的原理必须有导航控制器。
2.Modal:Modal的原理是弹出页面,原来的界面被销毁。可是原来的控制器并没有被销毁
3.修改主窗口keyWindow的rootViewController---可以