setting bundle在系统设置页面显示自己应用的一些设置。
在iOS开发中很多时候开发者需要让用户自行设置一些系统的配置项目,比如让用户设置是否支持在3G模式下加载数据,或者是让用户自己设置支不支持网络数据缓存的功能。另外在企业级应用开发中经常有需要对后台的访问地址进行调整那么需要用户自行的进行配置。
settings.bundle文件
新建项目->Add File->Resources->Setting Bundle
Root.strings 是国际化配置文件
我们修改Root.plist文件
ps:
item的位置不可以拖动,想要改变位置,可以直接ctrl+x,ctrl+v。
1)Group
Group类似于UITableView中的Group分组,用来表示一组设置项,配置如下所示:
配置项说明:
(1)Title:表示分组的显示标题
(2)Type:默认是Group
(3)FooterText:Group的底部显示的文字内容
2)Multi Value
Multi Value是为了让用户在多个值中选择需要的内容,相当于下拉列表的形式进行选择,配置如下所示:
配置项说明:
(1)Type:默认是Multi Value
(2)Title:配置项显示的标题
(3)Identifier:设置项的标识符,用于读取配置项的配置内容
(4)Default Value:默认的值,对应的是Values中的项目
(5)Titles:显示的标题的集合
(6)Values:显示的值的集合,与标题一一对应
3)Slider
配置项说明:
(1)Type:配置类型,默认是Slider
(2)Identifier:设置项的标识符,用于读取配置项的配置内容
(3)Default Value:默认值,Number类型
(4)Minimum Value:最小值,Number类型
(5)Maximum Value:最大值,Number类型
(6)Max Value Image Filename:最大值那一端的图片。
(7)Min Value Image Filename:最小值那一端的图片。
4)Text Field
配置项说明:
(1)Text Field is Secure:是否为安全文本。如果设置为YES,则内容以圆点符号出现。
(2)Autocapitalization Style:自动大写。有四个值: None(无)、Sentences(句子首字母大写)、Words(单词首字母大写)和All Characters(所有字母大写)。
(3)Autocorrection Style:自动纠正拼写,如果开启,你输入一个不存在的单词,系统会划红线提示。有三个值:Default(默认)、No Autocorrection(不自动纠正)和Autocorrection(自动纠正)。
(4)Keyboard Type:键盘样式。有五个值:Alphabet(字母表,默认)、Numbers and Punctuation(数字和标点符号)、Number Pad(数字面板)、URL(比Alphabet多出了.com等域名后缀)和Email Address(比Alphabet多出了@符合)。
5)Title
配置项说明:
(1)Type:默认是Title
(2)Title:配置项显示的标题
(3)Identifier:设置项的标识符,用于读取配置项的配置内容
(4)Default Value:默认的值
6、Toggle Switch
配置项说明:
(1)Type:默认是Toggle Switch
(2)Title:配置项显示的标题
(3)Identifier:设置项的标识符,用于读取配置项的配置内容
(4)Default Value:默认的值
代码获取用户设置的信息
配置的信息实际存在于沙盒路径的plist文件之中。
运行后,查看沙盒UserDefaults的plist文件
代码获取用户的设置:
从plist获取用户设置信息
- (IBAction)getValue:(id)sender {
NSUserDefaults * standardUD=[NSUserDefaults standardUserDefaults];
NSLog(@"%@",[standardUD objectForKey:@"userNameTF"]);
NSLog(@"%@",[standardUD objectForKey:@"sport"]);
NSLog(@"%@",[standardUD objectForKey:@"slider"]);
NSLog(@"%d",[standardUD boolForKey:@"switch_youyang"]);
}
修改plist内信息
- (IBAction)setValue:(id)sender {
NSUserDefaults * standardUD=[NSUserDefaults standardUserDefaults];
[standardUD setObject:@"小明" forKey:@"userNameTF"];
[standardUD setObject:@"0" forKey:@"sport"];
[standardUD setObject:@(0.5) forKey:@"slider"];
[standardUD setBool:NO forKey:@"switch_youyang"];
[standardUD synchronize];
}