本文主要是介绍iOS Settings Bundle,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
iOS Settings Bundle
用于在系统的设置app中,在自己app的设置页面增加与用户交互的入口,称其为应用程序的首选项,可以提前收集用户的某些信息,其本质是使用设置束来实现。
实现
设置App根据我们在应用内部的设置束来显示映红的首选项,如果想为app添加首选项,需要做一下几步
- 需要添加Setting Bundle设置束,在New File中选择Setting Bundle来添加。
- 添加Root.plist文件,用来定义根级首选项视图
设置App将根据Root.plist来设置自己app的首选项视图
添加并配置设置束
设置束中必须包含Root.plist,该属性列表是Dictionary的根结点, NSUserDefaults类实现,用户保存、获取首选项。可以在root.plist文件中添加group分组、文本字段设置、安全文本字段设置、多值字段、switch开关设置滑块设置以及添加一个子设置视图等
下面我们看一下怎样添加switch开关设置,来从用户那里获取一个boolean值,按照以下几步向iPhone Settings Schema里面添加switch
- 在Preference Items数组里面添加一项item0,它是字典,然后添加两个key-value,分别时type:Group,Title:cache
- 在Preference Items数组里面添加一项item1,它是字典,然后添加Type:Toggle Switch、Title:切换位置(根据需求命名为自己需要的值)、Identifier:changePlace、DefaultValue:NO
此外在设置束中,switch还有其他值可以设置,下面我们整理一下switch可以设置的值,可以根据自己的需求设置
Key | 描述 | 数据类型 |
---|---|---|
Type | PSToggleSwitchSpecifier | String |
Title | 标题 | String |
Key | 唯一标识 | String |
DefaultValue | 默认状态 | BOOL |
TrueValue | 打开状态时的值 | 任意类型 |
FalseValue | 关闭状态的值 | 任意类型 |
SupportedUserInterfaceIdioms | 略 | String |
从app中访问Setting bundle中的值
通过NSUserDefaults来获取Setting bundle中的值,通过key获取设置的内容和保存设置内容。下面我们来获取我们之前添加的switch。
NSUserDefaults *setting = [NSUserDefaults standardUserDefaults];
BOOL settingSwitch = [NSUserDefaults boolforkey:@"changePlace"];根据settingSwitch来处理自己的业务[setting setBool:NO forKey:@"clearUserCache"];
[setting synchronize];
其他几个可设置的内容可以参考下面
Group
- 作用同 tableView head and foot String。
Key | 描述 | 数据类型 |
---|---|---|
Type | PSGroupSpecifier | String |
Title | 头标题 | String |
FooterText | 尾标题 | String |
SupportedUserInterfaceIdioms | 指定设备类型,Phone 支持 iPhone,Pad 支持iPad | Array |
Child Pane
- 下一层设置列表。
Key | 描述 | 数据类型 |
---|---|---|
Type | PSChildPaneSpecifier | String |
Title | 标题 | String |
File | 下一层文件名称,例如:Pay | String |
SupportedUserInterfaceIdioms | 略 | String |
Slider
- 滑块
Key | 描述 | 数据类型 |
---|---|---|
Type | PSSliderSpecifier | String |
Key | 唯一标识 | String |
DefaultValue | 默认值 | Number |
MinimumValue | 最小值 | Number |
MaximumValue | 最大值 | Number |
MinimumValueImage | 左侧图片,21x21 | String |
MaximumValueImage | 右侧图片,21x21 | String |
SupportedUserInterfaceIdioms | 略 | String |
Label
- 标题
Key | 描述 | 数据类型 |
---|---|---|
Type | PSTitleValueSpecifier | String |
Title | 标题 | String |
Key | 唯一标识 | String |
DefaultValue | 默认值 | String |
Titles | 所有 Keys | Array |
Values | 对应 Values | Array |
SupportedUserInterfaceIdioms | 略 | String |
Field
- 文本输入框
Key | 描述 | 数据类型 |
---|---|---|
Type | PSTextFieldSpecifier | String |
Title | 标题 | String |
Key | 唯一标识 | String |
DefaultValue | 默认值 | String |
IsSecure | 密码模式 | BOOL |
KeyboardType | 键盘类型 | 可选 |
AutocapitalizationType | 自动大小写 | 可选 |
AutocorrectionType | 自动校正 | 可选 |
SupportedUserInterfaceIdioms | 略 | String |
Picker
- 选择器
Key | 描述 | 数据类型 |
---|---|---|
Type | PSMultiValueSpecifier | String |
Title | 标题 | String |
Key | 唯一标识 | String |
DefaultValue | 默认值 | String |
Titles | Keys | Array |
Values | Values | Array |
ShortTitles | 用于显示 | Array |
SupportedUserInterfaceIdioms | 略 | String |
DisplaySortedByTitle | 自动排序 | BOOL |
Select
- 选择器 2
Key | 描述 | 数据类型 |
---|---|---|
Type | PSRadioGroupSpecifier | String |
Key | 唯一标识 | String |
Title | 标题 | String |
FooterText | 描述 foot | String |
DefaultValue | 默认值 | String |
Titles | Keys | Array |
Values | Values | Array |
SupportedUserInterfaceIdioms | 略 | String |
DisplaySortedByTitle | 自动排序 | BOOL |
这篇关于iOS Settings Bundle的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!