IOS之应用程序设置

8.1 应用程序设置概念

8.2 创建设置束

8.3 设置项目种类

8.4 读取设置

 

8.1 应用程序设置概念

应用程序设置(Application Settings):在iOS和Mac OS很多软件中都有使用偏好(preferences),例如,在iOS中我们设置WiFi、运用商和壁纸等等。

wps_clip_image-22225

8.2 创建设置束

创建工程

wps_clip_image-10824

Settings Bundle(设置束)

一个应用程序的使用偏好,是存储在一个Root.list的XML文件中的,在这个文件中是与Settings Bundle关联起来的。可以在Root.list中指定设置项目的类型,可以有常规字段类型、划块、开关和子视图类型等等。

创建一个设置束

wps_clip_image-2213

wps_clip_image-31479

上图中在Resource文件夹下添加设置束文件Settings.bundle(默认名称)。展开Settings.bundle文件夹:

Root.plist图标 是设置属性的属性列表

en.lproj文件夹 是本地化应用程序时使用的

Root.plist的PreferenceSpecifiers节点

wps_clip_image-29875

wps_clip_image-27285wps_clip_image-8222

8.3 设置项目种类

生成的设置束文件设置项目

从上面的运行的应用程序看,我们没有编写任何一行代码系统就已经帮我们创建好一些设置项目了。

wps_clip_image-14500

PSGroupSpecifier

设置项目Type为PSGroupSpecifier用于指示该项目是一个新分组的开始,其后的每个项目都将是此分组的一部分,直到一个Type值为PSGroupSpecifier的项目之前。

在本例子中我们还要设置Title为Group,有多个Group时候Title不能重复。

PSTextFieldSpecifier

设置项目Type为PSTextFieldSpecifier是指示该项目是一个特定的使用偏好字段类型。其它项目的说明:

wps_clip_image-1955

PSToggleSwitchSpecifier

设置项目Type为PSToggleSwitchSpecifier是指示该项目是一个特定的使用偏好开关类型。其它项目的说明:

wps_clip_image-17703

PSSliderSpecifier

设置项目Type为PSSliderSpecifier是指示该项目是一个特定的使用偏好滑块类型。其它项目的说明

wps_clip_image-28803

为滑块添加最大最小值图片

wps_clip_image-22627

Show Package Contents来访问束的内容。这将打开一个新的窗口。将图标文件复制到此文件夹中。这样束就能找到这两个图标文件了。

添加最大最小值图片文件结构

wps_clip_image-25049

具体往束里设置图片:

wps_clip_image-17762

运行结果

wps_clip_image-4470

添加子设置视图

wps_clip_image-9692

添加完子视图,运行程序:

wps_clip_image-10421

8.4 读取设置

读取应用程序中设置

我们使用NSUserDefaults类读取用户设置,通常使用

NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];

NSUserDefaults获得值方法有:

arrayForKey:  boolForKey:  dataForKey:

dictionaryForKey:  floatForKey:  integerForKey:

objectForKey: stringArrayForKey:  stringForKey:

wps_clip_image-8763

MainViewController.h

wps_clip_image-10475

MainViewController.m

wps_clip_image-22228

FlipsideViewController.h

wps_clip_image-21572

FlipsideViewController.m

wps_clip_image-20077

wps_clip_image-22775

运行

wps_clip_image-7421

 

注:
1 本教程是基于关东升老师的教程
2 基于黑苹果10.6.8和xcode4.2
3 本人初学,有什么不对的望指教
4 教程会随着本人学习,持续更新
5 教程是本人从word笔记中拷贝出来了,所以格式请见谅

posted @ 2012-09-17 22:34  BuildNewApp  阅读(8240)  评论(2编辑  收藏  举报