本文将分享怎么实现:可配置轻量级app内部引导页面。
![](https://img.haomeiwen.com/i1131453/3d7cf0ceb4cb3d64.jpeg)
开个玩笑,要实现的效果是这样滴:
![](https://img.haomeiwen.com/i1131453/4b6f5664c1f59d62.png)
实现前提
1. 要有一个基类控制器,其他所有控制器都继承该基类控制器。
2. 要一个配置文件,本人用的是.string文件
实现原理
1. 配置文件怎么配置,看下面
![](https://img.haomeiwen.com/i1131453/5265eb3a7ebe50d6.png)
解释:"MSViewController1_5" = "home_5_1,home_5_2";
在MSViewController1_5 中,“MSViewController1”表示需要显示内部引导图的页面,“5”表示适配iphone5;"home_5_1,home_5_2"表示该页面有两张要显示的引导图,按顺序显示。
2. 在程序启动且app有新版本的时候,将配置文件写入内存(以字典保存)。在具体某个页面显示引导图时,如果某个页面的引导图都被点击过,就会从字典里面删除,保证该版本的该控制器再也不会出现引导图。
Talk is cheap, show me the code! (哈哈。。。)
设计了两个类:MSGuidanceUntil(数据操作类) 和 MSGuidanceView(显示类)
MSGuidanceUntil.h
![](https://img.haomeiwen.com/i1131453/359780959fcb7dfc.png)
MSGuidanceUntil.m
![](https://img.haomeiwen.com/i1131453/0ef11fd16d463d5a.png)
MSGuidanceView.h
![](https://img.haomeiwen.com/i1131453/12c7eabd791bce4e.png)
MSGuidanceView.m
![](https://img.haomeiwen.com/i1131453/8b64b776bb894a16.png)
如何使用
第一点:初始化数据
![](https://img.haomeiwen.com/i1131453/840013a1abd6ba95.png)
第二点:在基类中统一处理显示问题
![](https://img.haomeiwen.com/i1131453/6cb55a01c4a2c6fd.png)
网友评论