1

我正在为 iOS 寻找一个非常高级的设置框架。

首先,我想对一些设置使用自定义编辑器(用户可以选择颜色)。如果我没看错,这对 IASK 是可行的。

我还没有为我的第二个问题找到答案。

我们的应用程序相当广泛,有 3 或 4 个不同的“区域”,我们希望在“区域”的基础上进行设置。标准设置绝对不可能,但 IASK 可以吗?

这可能是通过不同的 plist 或同一 plist 中的不同子窗格,但随后需要能够从给定的子窗格启动编辑器。

非常感谢您的回答。

4

1 回答 1

2

自定义编辑器绝对可以使用IASKCustomViewSpecifier(参见自述文件)。

关于区域,我不确定 1)区域在结构上是否相同,您只想单独存储用户设置,或者 2)它们是否完全不同。

  1. 如果您的区域具有相同的设置集并且您只想单独存储它们,则可以使用单独的子类 IASKAbstractSettingsStore. 如果要存储所有设置, NSUserDefaults则可以IASKSettingsStoreUserDefaults 改为子类。

    在实现中,您可以使用不同NSUserDefaults 的实例(而不是standardUserDefaults)。然后你的子类只需要覆盖并在属性中-init存储一个不同的 NSUserDefaults实例。defaults

    或者,您可以使用设置键的前缀。为此,您必须覆盖所有 setter 和 getter 才能插入前缀。

  2. 如果您只对具有不同设置的单独设置屏幕感兴趣,您可以为每个区域实例化一个 IASKAppSettingsViewController实例,并将 file属性设置为每个区域的设置 plist 的名称。子窗格内部使用相同的机制,因此您还可PSChildPaneSpecifier以为每个区域添加带有 s 的父页面。这甚至可以与系统设置一起使用。

于 2017-04-20T10:46:42.433 回答