应用设置与用户默认值配置指南
立即解锁
发布时间: 2025-08-24 01:11:20 阅读量: 1 订阅数: 7 

### 应用设置与用户默认值配置指南
#### 1. 添加开关设置
在应用中,我们需要从用户那里获取一个布尔值,用于指示曲速引擎是否开启。为了在偏好设置中捕获这个布尔值,我们要让设置应用使用 UISwitch。具体操作步骤如下:
1. 若项目 3 当前处于展开状态,将其折叠,然后单击选中它。
2. 按下回车键创建项目 4。
3. 使用下拉菜单选择“Toggle Switch”,接着点击展开三角形展开项目 4。此时会看到已有一个子行,其键为“Type”,值为“PSToggleSwitchSpecifier”。
4. 为空白的“Title”行赋值为“Warp Drive”,并将“Key”行的值设置为“warp”。
5. 此字典中还有一个必填项,即默认值。Xcode 已为我们创建了“DefaultValue”行,我们将其值设为“YES”,默认开启曲速引擎。
#### 2. 添加滑块设置
接下来要实现一个滑块。在设置应用中,滑块两端可以有小图标,但不能有标签。为了让用户清楚滑块的作用,我们将其放在一个带有标题的独立组中。操作步骤如下:
1. 折叠项目 4,单击它并按下回车键创建新行。
2. 使用弹出菜单将新项转换为“Group”,然后点击展开三角形展开它,可看到“Type”已设置为“PSGroupSpecifier”,这会告知设置应用在此处开始一个新组。
3. 双击“Title”行的值,将其改为“Warp Factor”。
4. 折叠项目 5 并选中它,按下回车键添加一个新的同级行。
5. 使用弹出菜单将新项改为“Slider”,这表明设置应用应使用 UISlider 从用户那里获取信息。
6. 展开项目 6,将“Key”行的值设置为“warpFactor”,以便设置应用在存储该值时知道使用哪个键。
7. 允许用户输入 1 到 10 之间的值,默认值设为 5。Xcode 已为最小值、最大值和默认值创建了相应行,分别将“DefaultValue”设为 5,“MinimumValue”设为 1,“MaximumValue”设为 10。
滑块可以有图标,我们可以在滑块两端放置 21×21 像素的小图标,以指示向左滑动减速,向右滑动加速。以下是添加图标的步骤:
1. 在项目存档的特定文件夹中找到“rabbit.png”和“turtle.png”两个图标。
2. 在项目导航器中找到“Settings.bundle”,右键单击其图标,在上下文菜单中选择“Show in Finder”,在 Finder 中打开该包。
3. 由于包在 Finder 中看起来像文件,但实际上是文件夹,右键单击“Settings.bundle”文件,选择“Show Package Contents”,在新的 Finder 窗口中打开设置包。
4. 将“rabbit.png”和“turtle.png”从特定文件夹复制到“Settings.bundle”包内容的 Finder 窗口中。
5. 回到 Xcode,打开“Root.plist”,在项目 6 下添加两个子行,一个键为“MinimumValueImage”,值为“turtle”;另一个键为“MaximumValueImage”,值为“rabbit”。
#### 3. 添加子设置视图
我们要添加另一个偏好设置项,让设置应用显示一个子设置视图。该设置项会显示一个带有展开指示符的行,点击后会进入一个全新的偏好设置视图。操作步骤如下:
1. 为了不让新偏好与滑块分组,先复制项目 0 中的组设置项,粘贴到“PreferenceSpecifiers”数组末尾,为子设置视图创建一个新组。
2. 在“Root.plist”中,折叠所有展开的项目,单击项目 0 选中它,按下“zC”复制到剪贴板。
3. 选中项目 6,按下“zV”粘贴创建新的项目 7。
4. 展开项目 7,双击“Title”键旁边的“Value”列,将其从“General Info”改为“Additional Info”。
5. 再次折叠项目 7,选中它并按下回车键添加项目 8,这将是实际的子视图。
6. 点击展开三角形展开项目 8,找到“Type”行,将其值设为“PSChildPaneSpecifier”,并将“Title”行的值设置为“More Settings”,可忽略“Key”行。
7. 在项目 8 中添加最后一行,键为“File”,值为“More”(注意不要包含文件扩展名.plist),这会告知设置应用为“More Settings”视图加载哪个属性列表。
我们需要将“More.plist”复制到设置包中。由于不能在 Xcode 中直接向包添加新文件,且属性列表编辑器的保存对话框不允许保存到包中,所以我们可以从项目存档的特定文件夹中获取“More.plist”,并将其拖到之前打开的“Settings.bundle”窗口中。
#### 4. 读取应用中的设置
现在用户可以访问我们的偏好设置,那我们如何获取这些设置呢?这可以通过“NSUserDefaults”类来实现。“NSUserDefaults”是一个单例类,意味着应用中只有一个实例运行。获取该实例的方法如下:
```objc
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
```
获取标准用户默认值的指针后,我们可以像使用“NSDictionary”一样使用它。获取值的方法如下:
- 使用“objectForKey:”返回一个 Objective - C 对象,如“NSString”、“NSDate”或“NSNumber”。
- 若要以标量形式(如“int”、“float”或“BOOL”)检索值,可以使用“intForK
0
0
复制全文
相关推荐










