4

TideSDKプロジェクトに取り組んでいて、アプリケーションの構成設定ウィンドウを作成したいのですが、Webサイトでそのようなことを行う方法に関するドキュメントや、付随するドキュメントを見たことがありません。

私はWeb開発に精通しており、ブラウザーではtarget = new(またはそのようなもの)を使用して、URLを新しいウィンドウで開くようにフラグを立てますが、そのようなものは見たことがありません。

tideダイアログ機能も使用しようとしましたが、ウィンドウはアプリケーションディレクトリ内にあるhtmlファイルにのみ関係するようです(つまり、アプリケーションに組み込まれたり、パッケージ化されたりすることはありません)。

この機能はtidsdkで利用できますか、それとも設定/構成ウィンドウを作成する別の方法を見つける必要がありますか?

4

1 に答える 1

5

私はダイアログ関数を調べて、あなたが望むことを正確に行う方法を見つけました!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.createWindowTi.UI.UserWindowオブジェクトを返します。ダイアログのパラメータ、結果、およびoncloseコールバックに関連するいくつかのフィールドとメソッドが追加されています。

で渡されるダイアログパラメータには、またはTi.UI.showDialog({url:"...",parameters:{...}})を使用してダイアログウィンドウ内からアクセスできます。Ti.UI.getCurrentWindow().getDialogParameter("name")Ti.UI.getCurrentWindow()._dialogParameters["name"]

于 2013-02-11T18:58:42.997 に答える