Пользовательский диалог TidesDK

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

Я знаком с веб-разработкой, и в браузере я бы использовал target = new (или что-то в этом роде), чтобы указать, что я хочу, чтобы URL открывался в новом окне, но я не видел ничего подобного в приливе.

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

Доступна ли эта функция в tidsdk, или мне нужно будет найти альтернативный способ сделать окно настроек / конфигурации?

1 ответ

Решение

Я посмотрел в диалоговые функции и нашел способ делать именно то, что вы хотите! Документация по API не очень ясна по этому поводу, я должен был попробовать...

Пример кода

В главном окне:

//Example function to apply configuration
function applyConfig(configObject){
    setSomething(configObject.field);
    ...
}
//Create a dialog, and give it the above function as an `onclose` callback:
var dialog=Ti.UI.showDialog({url:"app://config.html",onclose:applyConfig});

В config.html:

//An example of an object that could hold your config data
var config={field:0,example:"hello",...};
//Function to call in order to pass that object back to the main window callback:
Ti.UI.getCurrentWindow().close(config);

объяснение

Итак... В главном окне вы создаете диалоговое окно с Ti.UI.showDialog и передать ему обратный вызов (params.oncloseсм. выше). В диалоговом окне, как только пользователь установил свои параметры конфигурации через интерфейс html, вы можете просто сохранить данные конфигурации в объекте и передать их методу close окна, и они будут переданы обратному вызову в главном окне.,

Заметки

Ti.UI.showDialog на самом деле звонки Ti.UI.createWindowи возвращает Ti.UI.UserWindow объект, с некоторыми добавленными полями и методами, связанными с параметрами диалога, результатом и обратным вызовом onclose.

Параметры диалога передаются с Ti.UI.showDialog({url:"...",parameters:{...}}) можно получить доступ изнутри диалогового окна, используя Ti.UI.getCurrentWindow().getDialogParameter("name") или же Ti.UI.getCurrentWindow()._dialogParameters["name"],

Другие вопросы по тегам