我希望创建一个自定义设置视图,类似于设置应用程序,但可以更好地控制UI并访问某些设置(我需要锁定一些设置)。
显然,应用程序的UITableView的每一行都混合了各种UI元素。例如,“飞行模式”设置显示UISwitch,而“Wi-Fi”设置具有与公开符号('>')相邻的文本值。更复杂的是将这些设置分组。
我对我应采取的方法有一些一般性问题:
似乎我需要保存设置名称,当前值,分组以及修改其值所需的UI元素类型。我想使用[NSUserDefault standardUserDefaults],但不这些设置会出现在“设置”应用程序中。我猜我需要创建自己的设置 - 持久性类。
最好是在代码中构建这些复杂的UI元素组合中的每一个,还是基于UITableViewCell创建一系列自定义视图并加载适当的视图?我猜测后者。
某些设置要求我加载另一个视图以选择其值。假设应用程序基于实用程序模式,如果SettingsView管理导航堆栈,而不是让应用程序代理执行此操作吗?
感谢您的时间和意见。
Craig Buchanan
答案 0 :(得分:4)
如果您只是想在应用中显示Settings.bundle,我建议您在http://www.inappsettingskit.com/查看InAppSettingsKit,或者至少可以使用框架作为起点。
至于你的一般问题,这是我的看法:
对于持久性,我建议您使用NSPropertyListSerialization或NSDictionary的writeToFile简单地将设置的NSDictionary持久保存到App的Document文件夹中的plist文件中:原子地:
我建议构建一系列自定义笔尖并在加载后缓存视图
肯定让您的设置视图管理导航堆栈,这样您的设置视图就可以轻松地在其他项目中重复使用。
答案 1 :(得分:2)
这是另一个“应用程序设置”开源项目: mySettings只是另一种选择......