han*_*nno 8 iphone objective-c
我想在我的应用程序中添加一个视图,允许用户更改多个(多个)设置.它应该看起来像内置的"设置应用程序"(见这里),但它必须在我的应用程序本身.目前我只有一个tableview,我手动添加不同的单元格对象(对应于开关,滑块等).有更聪明的做法吗?我觉得我正在重新发明轮子.
小智 11
这是一个基于互联网标准的老问题,但我发现了一种很难做到这一点的方法,只需要很少的努力.在我发现这些人之前,我正试着在另一个笔尖上构建第二个表视图:InAppSettingsKit
基本上他们已经完成了所有的视图和后端工作,你所做的只是将文件添加到你的项目中,并在你正在调用设置页面的类中实现一些委托方法(以及UI中的按钮)打开设置面板等),它会处理NSUserDefaults的内容.UI和设置值和键都是从用于真实设置应用程序的相同Settings.bundle生成的,这意味着用户可以在应用程序和设置应用程序中的两个位置更改您的设置.我发现这比使用自定义表视图的委托方法更容易,现在我实际上不必在Settings.app和应用程序之间进行选择,因为它同时执行这两种操作.
剩下的就是在您需要的时候在应用程序中为每个设置键提取所需的值,使用[[NSUserDefaults standardUserDefaults] objectForKey:@"key"].
不,就是这样,在tableView:cellForRowAtIndexPath:方法中返回单个单元格。只需记住 aUITableViewCell具有有用的属性,例如辅助标记(详细信息公开按钮、公开指示符或复选标记)和左侧的图像。