IOS之应用程序设置
<div id="cnblogs_post_body">8.1 应用程序设置概念8.2 创建设置束
8.3 设置项目种类
8.4 读取设置
8.1 应用程序设置概念
应用程序设置(Application Settings):在iOS和Mac OS很多软件中都有使用偏好(preferences),例如,在iOS中我们设置WiFi、运用商和壁纸等等。
http://images.cnblogs.com/cnblogs_com/syxchina/201209/201209172233592109.png
8.2 创建设置束
创建工程
http://images.cnblogs.com/cnblogs_com/syxchina/201209/201209172233593222.png
Settings Bundle(设置束)
一个应用程序的使用偏好,是存储在一个Root.list的XML文件中的,在这个文件中是与Settings Bundle关联起来的。可以在Root.list中指定设置项目的类型,可以有常规字段类型、划块、开关和子视图类型等等。
创建一个设置束
http://images.cnblogs.com/cnblogs_com/syxchina/201209/201209172233593811.png
http://images.cnblogs.com/cnblogs_com/syxchina/201209/201209172234001369.png
上图中在Resource文件夹下添加设置束文件Settings.bundle(默认名称)。展开Settings.bundle文件夹:
Root.plist图标 是设置属性的属性列表
en.lproj文件夹 是本地化应用程序时使用的
Root.plist的PreferenceSpecifiers节点
http://images.cnblogs.com/cnblogs_com/syxchina/201209/201209172234002274.png
http://images.cnblogs.com/cnblogs_com/syxchina/201209/20120917223401912.pnghttp://images.cnblogs.com/cnblogs_com/syxchina/201209/201209172234017357.png
8.3 设置项目种类
生成的设置束文件设置项目
从上面的运行的应用程序看,我们没有编写任何一行代码系统就已经帮我们创建好一些设置项目了。
http://images.cnblogs.com/cnblogs_com/syxchina/201209/201209172234015438.png
PSGroupSpecifier
设置项目Type为PSGroupSpecifier用于指示该项目是一个新分组的开始,其后的每个项目都将是此分组的一部分,直到一个Type值为PSGroupSpecifier的项目之前。
在本例子中我们还要设置Title为Group,有多个Group时候Title不能重复。
PSTextFieldSpecifier
设置项目Type为PSTextFieldSpecifier是指示该项目是一个特定的使用偏好字段类型。其它项目的说明:
http://images.cnblogs.com/cnblogs_com/syxchina/201209/201209172234029375.png
PSToggleSwitchSpecifier
设置项目Type为PSToggleSwitchSpecifier是指示该项目是一个特定的使用偏好开关类型。其它项目的说明:
http://images.cnblogs.com/cnblogs_com/syxchina/201209/201209172234026584.png
PSSliderSpecifier
设置项目Type为PSSliderSpecifier是指示该项目是一个特定的使用偏好滑块类型。其它项目的说明
http://images.cnblogs.com/cnblogs_com/syxchina/201209/201209172234021077.png
为滑块添加最大最小值图片
http://images.cnblogs.com/cnblogs_com/syxchina/201209/201209172234035014.png
Show Package Contents来访问束的内容。这将打开一个新的窗口。将图标文件复制到此文件夹中。这样束就能找到这两个图标文件了。
添加最大最小值图片文件结构
http://images.cnblogs.com/cnblogs_com/syxchina/201209/20120917223403587.png
具体往束里设置图片:
http://images.cnblogs.com/cnblogs_com/syxchina/201209/201209172234035080.png
运行结果
http://images.cnblogs.com/cnblogs_com/syxchina/201209/201209172234043227.png
添加子设置视图
http://images.cnblogs.com/cnblogs_com/syxchina/201209/201209172234059672.png
添加完子视图,运行程序:
http://images.cnblogs.com/cnblogs_com/syxchina/201209/201209172234055245.png
8.4 读取设置
读取应用程序中设置
我们使用NSUserDefaults类读取用户设置,通常使用
NSUserDefaults* defaults = ;
NSUserDefaults获得值方法有:
arrayForKey:boolForKey:dataForKey:
dictionaryForKey:floatForKey:integerForKey:
objectForKey: stringArrayForKey:stringForKey:
http://images.cnblogs.com/cnblogs_com/syxchina/201209/201209172234055834.png
MainViewController.h
http://images.cnblogs.com/cnblogs_com/syxchina/201209/201209172234051407.png
MainViewController.m
http://images.cnblogs.com/cnblogs_com/syxchina/201209/201209172234066980.png
FlipsideViewController.h
http://images.cnblogs.com/cnblogs_com/syxchina/201209/201209172234069837.png
FlipsideViewController.m
http://images.cnblogs.com/cnblogs_com/syxchina/201209/20120917223406426.png
http://images.cnblogs.com/cnblogs_com/syxchina/201209/201209172234072411.png
运行
http://images.cnblogs.com/cnblogs_com/syxchina/201209/201209172234077984.png
注:
1 本教程是基于关东升老师的教程
2 基于黑苹果10.6.8和xcode4.2
3 本人初学,有什么不对的望指教
4 教程会随着本人学习,持续更新
5 教程是本人从word笔记中拷贝出来了,所以格式请见谅
页:
[1]