iOS之Settings.Bundle的应用

Posted 路人Q

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS之Settings.Bundle的应用相关的知识,希望对你有一定的参考价值。

 

Settings.Bundle

 

Settings.Bundle支持六种配置项分别是:Title,MultiValue,Group,Slider,ToggleSwitch,TextField 。

 

Title

 

 
技术分享图片

 

 

Type:配置类型,默认是Title
Title:配置项显示的Title
Identifier: 配置项的标识符,用来获取配置项的配置内容
Default Value :配置项默认值

MultiValue

 
技术分享图片
 
技术分享图片
Type:配置类型,默认Multi Value

Title:配置项显示的标题
Identifier:配置项标识符,用来获取配置项的配置内容
Default:配置项默认值
Titles:显示的标题数组
Values:显示的值数组,与Titles一一对应


Group

技术分享图片
 

Type,Title 同上;

TextField

 
技术分享图片
 
Text Field Is Secure:是否密文显示
KeyBoard Type:键盘类型
Autocapitalization Stylele:自动大写
Autocorrection Style:自动纠正拼写

ToggleSwitch

技术分享图片
 

Slider

技术分享图片
 
 

Minimum Value:最小值
Maximun Value:最大值
Min Value Image Filename:最小值端图片
Max Value Image Filename:最大值端图片

如何设置

1.New File ->Settings.Bundle

 
技术分享图片

在右侧的目录会看到:

 
技术分享图片
 

在Root.plist里面添加上面说的配置项目:

 
技术分享图片
 
 
配置好后,运行项目,然后在设置中点击app,效果如下:

技术分享图片

技术分享图片
 

程序中获取配置信息

获取配置信息其实很简单,直接上代码:

//获取SettingsBundle信息
    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
    
    NSLog(@"%@",[userDefaults objectForKey:@"title_perference"]);
    NSLog(@"%@",[userDefaults objectForKey:@"sex_perference"]);
    NSLog(@"%@",[userDefaults objectForKey:@"name_preference"]);
    NSLog(@"%@",[userDefaults objectForKey:@"enabled_preference"]);
    NSLog(@"%@",[userDefaults objectForKey:@"slider_preference"]);

 

这里有一点需要说明:
如果运行应用后直接直接通过上面的代码获取信息,你会得到null;原因是:
root.plist实际上只是一个静态文件用来在设置里显示;只有当你对它进行修改,它才会往NSUserDefaults里添加。修改配置后,NSUserDefaults的优先级高于root.plist文件。
























以上是关于iOS之Settings.Bundle的应用的主要内容,如果未能解决你的问题,请参考以下文章

phonegap 从 settings.bundle ios 获取值

重命名 Settings.bundle 而不是 Bundle 显示名称?

在 PhoneGap 中使用 JavaScript 创建和使用 iOS settings.bundle 值

iOS的settings bundle中开关button(Toggle Switch)取不到值的问题

读书笔记iOS-Settings Bundle

Settings.bundle 名称仍然是硬编码的?