iOS之工具类---常见的5页导航控制页面(附带侧边控制器和主题管家类)
来源:互联网 发布:c语言字符类型判断 编辑:程序博客网 时间:2024/05/22 09:44
一个App常见的内容包括:NavigationController(上)、ViewController(中)、TabBarController(下)还可以增加侧边控制器:MMDrawController(三方框架)
我实现了一个基本的导航页面:包括了上面提到的控制器和页面,同时附带了一个主题类的实现。下面讲解一下主题类的实现思路,具体的实现请见Github上我的完整工程。
传送门:
https://github.com/chenyongMAC/McyController
实现思路:
一:主题管家类
这是一个单例类,用于管理所有的主题。它应该有3个主要功能:
①单例类方法的实现和初始化:
关键文件:
theme.plist(1个)————–主题名与路径 配置字典
config.plist(每个主题对应一个)—————颜色值 配置字典
PS:
1)初始化的时候,优先从本地文件读取主题
2)配置以上关键文件对应的信息
②获取主题文件信息(app自带主题信息存放在plist文件中,网络下载的主题需要做本地数据持久化):
PS:
1)如果主题图片存放在本地,添加文件时选择如下:选择Create folder references表示,添加的文件与路径相关(Create groups则与路径无关,无关的话在代码里调用图片时直接调用即可)。
如上方式,使用图片时就要增加路径寻找代码
③更换主题名字时,发送通知:更换颜色、图片:
PS:
1)更换主题原理:
①用户选择主题名字
②根据主题名字,配置完整的路径名。再根据完整路径名获取对应的数据
③通过发放通知,告诉每个主题类控件,更换自身的图片、颜色等
2)更换前先保存主题名字到NSUserDefaults中,保证用户下次打开APP主题效果还在
二:侧边栏控制器
使用了MMDrawController三方库,具体使用见代码
- iOS之工具类---常见的5页导航控制页面(附带侧边控制器和主题管家类)
- iOS-非父子控制器跳转(如:从某一导航控制器的子页面跳转到另一个tabbar控制的页面)
- iOS开发学习之导航控制器和应用程序的生命周期
- IOS之导航控制器
- iOS--项目最常见框架的搭建(标签栏控制器+导航栏控制器+视图控制器)
- 【CSS】简易的页面侧边栏导航
- iOS导航控制器和标签栏控制器的结合
- iOS 开发之 导航控制器
- IOS-导航控制器和工具栏
- iOS 导航控制器、导航条、导航项、控制器的关系
- 29.导航控制器和页面间的传值
- iOS基础控件-UITabBarController - 2 之UITabBarItem 详解,结合视图控制器和导航控制器的用法
- 【iOS开发-21】UINavigationController导航控制器初始化,导航控制器栈的push和pop跳转理解
- iOS开发UINavigationController导航控制器初始化,导航控制器栈的push和pop跳转理解
- iOS开发-21UINavigationController导航控制器初始化 导航控制器栈的push和pop跳转理解
- iOS开发-21UINavigationController导航控制器初始化 导航控制器栈的push和pop跳转理解
- 通过添加类和媒体查询实现侧边导航栏的显示隐藏效果
- ios--导航控制器的基本概念
- Android 应用程序发布流程---碗豆荚发布流程
- MySQl时间函数
- Eclipse中SVN过滤指定文件夹或文件下内容
- 一看就会Android之Socket通信时总是通信失败的几点原因分析(超实用)
- VS2008编译驱动环境配置
- iOS之工具类---常见的5页导航控制页面(附带侧边控制器和主题管家类)
- 通过Df-h发现有个硬盘占用率是100%,但是你在它挂载的分区看du,发现只占用了50%,
- 基于xcodebuild和xcrun的自动化打包
- Spring mvc中@RequestMapping 6个基本用法小结
- HTTPS的工作原理
- Windows程序调试系列: 使用VC++生成调试信息
- 静态页编写标准及要求
- mysql查看session连接数和session状态
- Progressbar 实例