在iOS中“设置”与“配置”是有区别的,不过这个两个概念也没有明显的区别。但设置是在苹果的设置中进行设置,比如图中的就是设置就只能在软件外进行设置。
BC7F363796D3761FBBB7AF4153CA0F13.png
不过图上的都是系统的一些设置,那么如何自定义我们自己的设置呢?
首先弄明白SettingsBundle的概念:它是一个包文件,其中包含设置界面中所需的设置项目的描述、用到得图片、文字的本地化和子设置界面设置项目的描述等内容。
1、废话不多说,首先新建一个工程,名字的可以随便取。我取名为程序设置-Demo
2、新建一个SettingsBundle,如下图
QQ20160110-0.png
3、运行一下工程,等运行完后按下command+shift+h回到模拟器主界面中选择settings,点击进去查看中多了"程序设置-Demo",点击进去查看会有系统默认的设置
![ ![QQ20160110-7.png](https://img.haomeiwen.com/i970305/4bf558a5ccd0bc97.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)](https://img.haomeiwen.com/i970305/582df508570039b8.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)4、现在我们来添加一下自定义的设置选项,例如:账号设置->账号->密码
首先,打开SettingsBundle中找到Root.plist,在里面添加
里面的字段我就不一一解释啦(我太懒了),运行一下程序看下,重复步骤3,就能看到我们自己定义的设置了。
QQ20160110-9.png我们也可以定义滑块和开关,知识我们添加类型不一样而已,下面图中就是可供选择的类型
屏幕快照 2016-01-10 下午8.51.28.pngGroup ---提供一个组就像tableView中的分组。
MultiValue -- 提供多种选择,比如选择不同的城市。
Slider -- 滑动条
TextField -- 文本输入框
Title --标题
Toggle Switch -- 开关
5、在这里就不一一的举例了,还有另外一个Type为Child Pane可以设置一子设置界面,不过需要另外新建一个plist文件。我们添加一个通知的设置选项,点击可以跳转到另外一个界面设置。
QQ20160110-10.png新建一个名为notification.plist文件,注意:这个文件名必须与Filename对应的字段一样。而且改文件必须放在Settings.bundle中。
我们就添加一个很简单声音开关设置,默认为NO如图:
我们再次运行程序,来步骤3中的操作,效果如下:
settings.gif最后就是如何获取这设置的值了,其实很简单,就是大家常用的NSUserDefaultes这个类,其中key就是我们添加对应的key值就可以了。
就这么多了,谢谢!
网友评论