2015-11-27 2 views
2

В iOS считается лучшей практикой реализации набора параметров, чтобы пользователь мог получить доступ к настройкам вашего приложения из приложения настроек iOS, а также из вашего приложения. Однако это уникальная концепция для iOS. Учитывая, что, если вы хотите реализовать пользовательский интерфейс настроек, как вам это сделать в Xamarin.Forms, чтобы получить пакет настроек для iOS и все еще иметь вид настроек, который доступен на других платформах?Как реализовать пользовательский интерфейс настроек в Xamarin.Forms?

ответ

1

Поскольку набор настроек - это особая особенность iOS, реализация этого в проекте iOS является единственным способом.

Затем я создам интерфейс ISettings для получения конкретных настроек. В iOS создайте класс, который получает/устанавливает настройки в этом комплекте и использует инъекцию зависимостей.

Затем выполните что-то еще для Android и WinPhone. Вы должны иметь возможность создать общую общую страницу, но методы Set и Get будут переключаться на каждую платформу.

+0

Может ли общая страница общих форм быть похожей на страницу собственных настроек android и ios, или было бы лучше просто создать страницы в проекте на родной платформе? – gldraphael

0

Формы предоставляют несколько способов настройки поведения для каждой платформы. Вы можете использовать Device.OS или Device.OnPlatform() для создания поведения (например, параметра «Параметры» в главном меню), который существует в Windows и Android, но не для iOS (вместо этого пользователь может использовать набор настроек).

2

Используйте это: https://github.com/jamesmontemagno/SettingsPlugin

Это обеспечивает кросс-платформенный API для работы с настройками. Он сохранит ваши настройки в plist на iOS.

Что касается создания пользовательского интерфейса настроек, просто ссылаясь на plist (например, iOS изначально), это не вещь в Формах. В Forms вы можете использовать свою собственную страницу настроек, используя API-интерфейсы форм. Forms имеет элемент интерфейса TableView, на котором вы можете установить свойство Intent. Intent может быть установлено в Data, Form, Menu, или Settings. Вы можете использовать значение Settings, чтобы указать, что TableView будет похож на экран настроек iOS. Затем просто привяжите каждый элемент TableView к вашему классу настроек.

Смежные вопросы