我正在为 iOS 寻找一个非常高级的设置框架。
首先,我想对一些设置使用自定义编辑器(用户可以选择颜色)。如果我没看错,这对 IASK 是可行的。
我还没有为我的第二个问题找到答案。
我们的应用程序相当广泛,有 3 或 4 个不同的“区域”,我们希望在“区域”的基础上进行设置。标准设置绝对不可能,但 IASK 可以吗?
这可能是通过不同的 plist 或同一 plist 中的不同子窗格,但随后需要能够从给定的子窗格启动编辑器。
非常感谢您的回答。
我正在为 iOS 寻找一个非常高级的设置框架。
首先,我想对一些设置使用自定义编辑器(用户可以选择颜色)。如果我没看错,这对 IASK 是可行的。
我还没有为我的第二个问题找到答案。
我们的应用程序相当广泛,有 3 或 4 个不同的“区域”,我们希望在“区域”的基础上进行设置。标准设置绝对不可能,但 IASK 可以吗?
这可能是通过不同的 plist 或同一 plist 中的不同子窗格,但随后需要能够从给定的子窗格启动编辑器。
非常感谢您的回答。
自定义编辑器绝对可以使用IASKCustomViewSpecifier
(参见自述文件)。
关于区域,我不确定 1)区域在结构上是否相同,您只想单独存储用户设置,或者 2)它们是否完全不同。
如果您的区域具有相同的设置集并且您只想单独存储它们,则可以使用单独的子类
IASKAbstractSettingsStore
. 如果要存储所有设置,
NSUserDefaults
则可以IASKSettingsStoreUserDefaults
改为子类。
在实现中,您可以使用不同NSUserDefaults
的实例(而不是standardUserDefaults
)。然后你的子类只需要覆盖并在属性中-init
存储一个不同的
NSUserDefaults
实例。defaults
或者,您可以使用设置键的前缀。为此,您必须覆盖所有 setter 和 getter 才能插入前缀。
如果您只对具有不同设置的单独设置屏幕感兴趣,您可以为每个区域实例化一个
IASKAppSettingsViewController
实例,并将
file
属性设置为每个区域的设置 plist 的名称。子窗格内部使用相同的机制,因此您还可PSChildPaneSpecifier
以为每个区域添加带有 s 的父页面。这甚至可以与系统设置一起使用。