2017-04-19 47 views
1

我正在尋找iOS的一個非常高級的設置框架。InAppSettingsKit與多個plists

首先,我想使用自定義編輯器進行一些設置(用戶可以選擇顏色)。 如果我閱讀正確,這對IASK是可行的。

我還沒有找到答案,但我的第二個問題。

我們的應用程序相當廣泛,有3個或4個不同的「區域」,我們希望在「區域」的基礎上進行設置。 這對標準設置是絕對不可能的,但IASK有可能嗎?

這可能是通過不同的plist或不同的Childpanes在同一個plist,但然後它需要能夠從一個給定Childpane啓動編輯器。

非常感謝您的回答。

回答

1

定製編輯器絕對可以使用IASKCustomViewSpecifier(請參閱自述文件)。

關於這些區域,我不確定1)這些區域在結構上是否相同,您只是想分別存儲用戶設置,或者2)它們是完全不同的。

  1. 如果你的領域有相同的一組設置,你只是想 分開存放,您可以使用 IASKAbstractSettingsStore獨立的子類。如果要將所有設置存儲在 NSUserDefaults中,則可以改爲將IASKSettingsStoreUserDefaults改爲 。

    在實現中,您可以使用不同的NSUserDefaults 實例(而不是standardUserDefaults)。然後,您的子類 只需要覆蓋-init並在defaults屬性中存儲不同的 NSUserDefaults實例。

    或者,您可以使用設置鍵的前綴。對於此 ,您必須覆蓋所有設置者和獲取者以插入您的 前綴。

  2. 如果你在具有 不同設置不同的設置屏幕只是有興趣,您可以實例爲每個區域一個 IASKAppSettingsViewController實例和 file屬性設置爲設置的plist每個區域的名稱。 同樣的機制在內部用於子窗格,所以你也可以爲 爲每個區域添加一個包含PSChildPaneSpecifier的父頁面。這個 甚至可以處理系統設置。

+0

Thx @ortwin,我已經開始在我的應用程序中進行整合,目前看起來不錯。 – jmc34