3

我希望创建一个自定义设置视图,类似于设置应用程序,但可以更好地控制 UI 并访问一些设置(我需要锁定一些设置)。

很明显,应用程序的 UITableView 的每一行都混杂着各种各样的 UI 元素。例如,“飞行模式”设置显示 UISwitch,而“Wi-Fi”设置具有与显示符号 ('>') 相邻的文本值。更复杂的是,这些设置的分组。

我对我应该采取的方法有一些一般性的问题:

  • 似乎我需要保存设置的名称、其当前值、其分组以及修改其值所需的 UI 元素的类型。我想使用 [NSUserDefault standardUserDefaults],但这些设置不会出现在设置应用程序中。我猜我需要创建自己的设置持久性类。

  • 是在代码中构建这些复杂的 UI 元素组合中的每一个,还是基于 UITableViewCell 创建一系列自定义视图并加载适当的视图更好?我猜是后者。

  • 一些设置要求我加载另一个视图来选择它的值。假设应用程序基于实用程序模式,SettingsView 是否应该管理导航堆栈,而不是让应用程序委托来管理?

感谢您的时间和评论。

克雷格·布坎南

4

2 回答 2

4

如果您只是想在您的应用程序中显示您的 Settings.bundle,我建议您查看http://www.inappsettingskit.com/上的 InAppSettingsKit或者您至少可以使用该框架作为起点。

至于你的一般问题,这是我的看法:

  • 对于持久性,我建议使用 NSPropertyListSerialization 或 NSDictionary 的 writeToFile:atomically 将设置的 NSDictionary 简单地持久保存到应用程序 Document 文件夹中的 plist 文件中:

  • 我建议构建一系列自定义 nib 并在加载视图后缓存它们

  • 绝对让您的设置视图管理导航堆栈,这样您的设置视图可以轻松地在其他项目中重用。

于 2010-03-16T14:39:52.457 回答
2

这是另一个“应用内设置”开源项目: mySettings只是另一个选项...

于 2010-04-27T21:56:00.987 回答