Как разработать динамическое меню настроек iOS

если вы разрабатываете приложения для Android, вы можете просто создать PreferenceScreen/Activity, а затем связать некоторые элементы предпочтений, которые объявлены в файле xml, с этим экраном. Таким образом, вы можете создавать различные меню настроек и вызывать их из разных мест вашего приложения. Все они используют один и тот же стиль и один и тот же механизм для сохранения выбранных настроек.

Мне просто интересно, что в iOS такой функции нет. В нашем приложении нам приходится вызывать много разных меню настроек, так как мне это заархивировать? Лучше ли разработать один экран динамических настроек, который вы можете вызывать из любого места в вашем приложении (каждый раз заполняя разную информацию), или мы должны использовать одно большое меню настроек, в котором живут все настройки приложения. Возможно ли тогда просто перейти к «подменю» этого большого меню настроек?

Должен ли я использовать пакет настроек iOS для создания структуры меню в файлах, а затем отображать их в виде таблицы?

Я мог бы найти несколько наборов настроек, таких как InAppSettingsKit, но мне не нравится использовать библиотеку с открытым исходным кодом для такой важной функции.


person user2135074    schedule 28.03.2013    source источник


Ответы (2)


Пакет настроек — это правильный способ добавить настройки в ваше приложение.

Немного необычно получать доступ к настройкам из приложения iOS, но если вы уверены, что хотите это сделать, то InAppSettingsKit — это хороший способ сделать настройки в приложении максимально похожими на настройки приложения. Тот факт, что это открытый исходный код, не должен вас отталкивать — большая часть цепочки инструментов iOS имеет открытый исходный код.

person Simon    schedule 28.03.2013
comment
Эй, но я не хочу один действительно большой экран настроек. Мне нужно много мелких. Я также не буду использовать кнопку «Назад» в верхней части экрана. :/ Я думаю, что InAppSettinsKit предназначен для отображения всех настроек вашего приложения. - person user2135074; 28.03.2013
comment
Не возражаете, если я спрошу, почему вы хотите сделать свое приложение нестандартным? Очевидно, что вводить новшества — это нормально; хотя, если вы это сделаете, вы должны быть готовы сделать остальную часть вашего приложения с нуля. Однако, если вы намерены сделать свое приложение на iOS таким же, как и на Android, я бы не советовал этого делать. То, что выглядит правильно на Android, выглядит дешево на iOS, точно так же, как то, что выглядит правильно на iOS, выглядит безвкусно на Android. - person Simon; 28.03.2013

Я сделал нечто подобное, когда у меня есть перечисление режимов меню. Каждый раз, когда выбирается ячейка табличного представления, она меняет режим и перерисовывает табличное представление. условные выражения в numberOfRowsInSection: и numberOfSections: изменение макета таблицы и условные выражения в cellForRowAtIndexPath: изменение содержимого, все на основе нового набора режимов. Затем я преобразовал содержимое таблицы для каждого режима в файл JSON и вначале прочитал его в словаре, который формирует структуру данных, из которой считывается таблица.

Я выбрал JSON, так как его легко анализировать с помощью NSJSONSerialization.

person Cocoadelica    schedule 28.03.2013