タグ

ブックマーク / higelog.brassworks.jp (6)

  • Titaniumでナビゲーションバーを使った遷移をする方法二つ - ひげろぐ

    TabGroupを使ったやり方と、NavigationGroupを使ったやり方がある。 TabGroupを使う オーソドックスなやり方。 TabGroupを作成し、Tabを追加。 Tabからウィンドウを開くやり方。 Tabにナビゲーションバーで遷移する機能がついている。遷移の状態はTabごとに保持される。 app.js var win, tab, tg; win = Ti.UI.createWindow({url: "first.js"}); win.hideTabBar(); tab = Ti.UI.createTab({window: win}); tg = Ti.UI.createTabGroup(); tg.addTab(tab); tg.open(); タブバーは必要がなければ隠す。 first.js Ti.UI.currentWindow.title = "Window 1";

    t32k
    t32k 2011/09/05
    NavigationGroupのほうがいいかも - Tags: #ti
  • シングルコンテキストがいいらしい - ひげろぐ

    Ti.Appのプロパティに預けたオブジェクトに書き込めなくなる « Titanium BBS(JP unofficial) コンテキストをまたいでデータを参照で共有する方法 « Titanium BBS(JP unofficial) Titanium BBSに先日出てきた上の話を読むと、今までのサンプルコードでよく見られた var win; win = Ti.UI.createWindow({url: "first_win.js"}); win.open(); とurlを指定して新しいWindowを作っていたやり方は今となってはよろしくなくて var MyApp, win; Ti.include("first_win.js"); win = MyApp.createFirstWindow(); win.open(); みたいにコンテキストが分かれないように書いていくやり方が推奨らしい。(ソ

    t32k
    t32k 2011/08/10
  • requireでTitaniumのインクルードパスの問題を解決する - ひげろぐ

    Ti.includeじゃなくてrequireを使うと幸せになれるっぽい。 CommonJSでJavaScirptのモジュールを定義することになるので、Ti.includeをそのまま置き換えることはできないけど。 これで黒魔術とおさらばできるかしら。 実験 app.js var window = Ti.UI.createWindow({ url: "lib/hoge.js" }); window.open(); Ti.includeとは違うところを確認するためにlib以下のurlを指定したウィンドウを開く。 lib/hoge.js var hoge = require("lib/fuga"); hoge.foo(); lib/fuga.jsのrequireを行う。 Resourcesからの相対パスで指定できているところに注目。 Ti.includeで同じような指定をすると Ti.includ

    t32k
    t32k 2011/03/25
    - Tags: #Titanium
  • TitaniumのWindowは再利用するべきか - ひげろぐ

    何度も同じ内容のWindowをcreateしまくっていいのだろうかと言うこと。 例えば何かボタンを押すたびに以下のようなコードを実行するとする。 var newWin = Ti.UI.createWindow({ url: 'hogehoge.js', title: 'ほげほげ', }); Ti.UI.currentTab.open(newWin); これで新しい画面に遷移した後、元の画面に戻ってまたボタンを押したら同じ内容のWindowがまた作られて、リソースを圧迫していくのではないかということが心配になる。 都度createしないで再利用すべきなのだろうか。 再利用しないとWindowはどんどん増えていくのか? この懸念に関してはWindowがフォーカスを失ったときにcloseされるので問題ないようだ。 hogehoge.jsに以下のようなコードでWindowオブジェクトが破棄される様

    t32k
    t32k 2011/03/24
    - Tags: #Titanium
  • TitaniumのJSSという機能 - ひげろぐ

    1.5.1から追加された機能で、オブジェクトの外見をJavaScript StyleSheetでカスタマイズできる。 コンパイルされたファイルを消してビルドし直さないと修正が反映されないという大きな問題があったが、1.6.0で修正されている。 要はHTMLに対するCSSのようなもの。 構造とデザインを分離できるという利点がある。 でもまだ正直あんまり練れた機能ではないかも。 基的な使い方 概要 *.jsにあわせて*.jssファイルを作る(ex. app.js => app.jss, menu.js => menu.jss) *.jssでID別、クラス別、オブジェクトのタイプ別にスタイルを定義する *.jsでIDまたはクラスを指定してオブジェクトを作成する *.iphone.jssや.*.android.jssのようにプラットフォーム別にファイルを分けることができる global.jssを

    t32k
    t32k 2011/03/19
  • TitaniumのロジックとUIのプロパティ定義を分離する - ひげろぐ

    UIの部品をたくさん追加するとコードの見通しが悪くなってくるので、なんとかしたいと思った。 そこでUIのプロパティを指定するオブジェクトを別の場所で定義して分離することにしてみた。 Ti.includeを使うとコードの分離は簡単なので、方法は至って単純。 styles.jsというファイルにプロパティの定義を追い出す。 2010/02/12追記 Titamium Mobile 1.5からJSSというものが使えるようになっていて、以下のstyles.jsでやっていることをCSSっぽく書ける。 ただ1.5の時点ではiOSで問題があり、JSSの更新が二度目以降のビルドに反映されず、更新を確認するためには都度build以下を削除しないといけないようなことになっているようだ。 元のコード まずは分離前。 hoge.js いたって普通に書いたコード。 UI部品が少ないうちは問題ないが、部品が増えてくると

    t32k
    t32k 2011/03/19
  • 1