【问题标题】:InAppSettingsKit with multiple plists具有多个 plist 的 InAppSettingsKit
【发布时间】:2017-04-19 13:33:58
【问题描述】:

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

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

虽然我的第二个问题没有找到答案。

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

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

非常感谢您的回答。

【问题讨论】:

    标签: ios inappsettingskit


    【解决方案1】:

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

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

    1. 如果您的区域具有相同的设置集并且您只想 单独存储它们,您可以使用单独的子类 IASKAbstractSettingsStore。如果要将所有设置存储在 NSUserDefaults 你可以继承IASKSettingsStoreUserDefaults 反而。

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

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

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

    【讨论】:

    • Thx @ortwin,我已经开始在我的应用程序中进行集成,到目前为止它看起来不错。
    猜你喜欢
    • 2023-04-08
    • 2021-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-01
    • 2014-03-10
    相关资源
    最近更新 更多