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描述数据类型
TypePSToggleSwitchSpecifierString
Title标题String
Key唯一标识String
DefaultValue默认状态BOOL
TrueValue打开状态时的值任意类型
FalseValue关闭状态的值任意类型
SupportedUserInterfaceIdiomsString
从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描述数据类型
TypePSGroupSpecifierString
Title头标题String
FooterText尾标题String
SupportedUserInterfaceIdioms指定设备类型,Phone 支持 iPhone,Pad 支持iPadArray

Child Pane

  • 下一层设置列表。
Key描述数据类型
TypePSChildPaneSpecifierString
Title标题String
File下一层文件名称,例如:PayString
SupportedUserInterfaceIdiomsString

Slider

  • 滑块
Key描述数据类型
TypePSSliderSpecifierString
Key唯一标识String
DefaultValue默认值Number
MinimumValue最小值Number
MaximumValue最大值Number
MinimumValueImage左侧图片,21x21String
MaximumValueImage右侧图片,21x21String
SupportedUserInterfaceIdiomsString

Label

  • 标题
Key描述数据类型
TypePSTitleValueSpecifierString
Title标题String
Key唯一标识String
DefaultValue默认值String
Titles所有 KeysArray
Values对应 ValuesArray
SupportedUserInterfaceIdiomsString

Field

  • 文本输入框
Key描述数据类型
TypePSTextFieldSpecifierString
Title标题String
Key唯一标识String
DefaultValue默认值String
IsSecure密码模式BOOL
KeyboardType键盘类型可选
AutocapitalizationType自动大小写可选
AutocorrectionType自动校正可选
SupportedUserInterfaceIdiomsString

Picker

  • 选择器
Key描述数据类型
TypePSMultiValueSpecifierString
Title标题String
Key唯一标识String
DefaultValue默认值String
TitlesKeysArray
ValuesValuesArray
ShortTitles用于显示Array
SupportedUserInterfaceIdiomsString
DisplaySortedByTitle自动排序BOOL

Select

  • 选择器 2
Key描述数据类型
TypePSRadioGroupSpecifierString
Key唯一标识String
Title标题String
FooterText描述 footString
DefaultValue默认值String
TitlesKeysArray
ValuesValuesArray
SupportedUserInterfaceIdiomsString
DisplaySortedByTitle自动排序BOOL
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员的修养

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值