< 返回技术文档列表

iOS开发之APP在系统设置中心的偏好设置配置(Settings Bundle的使用)

发布时间:2021-01-12 22:51:30

首先我们要知道,要想我们自己的app在iOS系统设置中显示,那么你的app至少要有像定位设置、蜂窝移动数据、相机、照片、通知等系统功可设置。假如都没有,那你就得考虑有知己的偏好设置了,如下图:


好,说到这里,摆好姿势,下面我们将进行长篇大论

第一步:在你的项目里新建一个Settings.bundle

这里需要说明的是似乎新建的Settings.bundle只能命名为Settings.bundle,至少小编试过改名之后不能用。


第二步:配置自己的个性化设置

新建之后你会在Settings.bundle下面看到一个Root.plist的配置文件,好了,这就是我们配置我们自己的个性化设置的地方。
我靠,说好的长篇大论呢,不好心思,小编以前读书的时候最头疼的就是写作文,再加上有点懒,所以就直接给大家配图了:




我想既然大家都当了程序猿了,了解能力那绝对是不一般,所以上面两张图就是“配置-运行效果图”的对应,我就不作说明了。
但是,你发现最后这个进度条似乎没有更好的说明,人们不知道它是用来干嘛的,当然,你还可以将每一个cell再分组,加上自己的标题,这样就相当明了了。
比方我想在这个进度条加一个说明叫“明星热度”,你只要要在slider的前面再加一个item并选择type为group就行了,如图:



需要说明的是我们要怎么在app的代码里面读取和设置这个值,不知道大家在看plist文件的时候有没有发现Identifier这个东西,它就相当于我们NSDictionary里面的key,但是这里的对象却换成了[NSUserDefaults standardUserDefaults],所以我们在app里面读取和设置这些值就用下面的代码:

//读取NSString *name = [[NSUserDefaults standardUserDefaults] objectForKey:@"name"];NSString *hobby = [[NSUserDefaults standardUserDefaults] objectForKey:@"hobby"];NSString *TheSlider = [[NSUserDefaults standardUserDefaults] objectForKey:@"TheSlider"];//设值[[NSUserDefaults standardUserDefaults] setObject:@"刘诗诗" forKey:@"name"];[[NSUserDefaults standardUserDefaults] setObject:@"游泳" forKey:@"hobby"];[[NSUserDefaults standardUserDefaults] setObject:@(0.3) forKey:@"TheSlider"];

需要注意的是,第一次取值是取不出来的,也就是当你手动配置了Seetings.bundle里面的值,也就是初始默认值用这种方式是取不出来的,当然假如你非要取,那就只能在开始写初始值了;但是你大可以用这种方式去设值,而且在任何时候都有效。


/template/Home/Zkeys/PC/Static