TiShadowを導入するも動作せず・・・
環境
npm -v 1.3.2 node -v v0.10.13 titanium -v 3.1.2
TitaniumCLIの初期設定
titanium setup
TiShadowインストール
sudo npm install -g tishadow
2.1.1が入った
tishadow -v 2.1.1
TiShadowを起動
defaultはport3000みたいで
railsと被ったため3030に
tishadow server -p 3030
tishadowappを作成
mkdir ~/tishadowapp && tishadow app -d ~/tishadowapp
ビルド
Titanium StudioでいうInstall to IOS Deviceをやるみたい
cd ~/tishadowapp titanium build -p iphone -T device -F universal
TiShadowで実行したいアプリのディレクトリに移動&実行
cd /hogeapp tishadow run
としたけどうんともすんとも言わず・・・
調べたところ、こっちもportの指定が必要だったみたい
tishadow run -p 3030
これで一応起動はした
したけど・・・
undefinedエラーが発生
eval(ns)["create" + baseName](stlye)
とやらが動かないらしい
どっかで見たことあるな?と思って探したところ
alloy.jsのUI.createメソッドのところで見つけた
場所を見つけたところで・・・なんだけど
まあ、evalが実行出来てないって事かな
UI.createが動かないなんて事は無さそうだけど
どうにも手詰まりで今日のところはギブアップ
Titaniumでhiresなリモート画像をキャッシュするWidget作った
経緯
そもそもImageViewはリモート画像を自動でキャッシュしてくれるのだけど
hiresプロパティを設定した途端、うまくキャッシュ出来なくなってしまう
対策
一応キャッシュファイル自体は@2xな名前で作成してくれてる様なので
キャッシュファイルが存在する場合はそれを読み込む様にした
ついでに
プロフィール画像みたいな、普段はキャッシュしておきたいけど変更する時もある場合用に
キャッシュをクリアしたり、明示的にキャッシュするメソッドも追加した
github
そんなわけで
プロジェクト名はこんなんでいいのか
coffeeScriptのままでいいのか分からぬままgithubにあげてみた
https://github.com/ma2kubo/ma2.cachedImageView
iosでしか試してないのでiosのみの設定にしてあるけど androidでも使えるかも?(てきとー)
使い方
<Widget id="imageView" src="ma2.cachedImageView"></Widget>
$.imageView.image = "http://hoge.com/hoge.png"
中身
こんな感じでapplyPropertiesしてるのでtssも反映されるはず
args = arguments[0] or {} delete args.id delete args.__parentSymbol $.imageView.applyProperties args
同じくこんな感じにしたのでイベントも反映されるはず
exports.on = $.imageView.addEventListener exports.off = $.imageView.removeEventListener
ちなみにキャッシュの場所メモ
Ti.Filesystem.applicationDataDirectory + "../Library/Caches/"
TitaniumのTextFieldで日本語の変換がうまく出来ない
環境
不具合
「あ」とか「い」とか1文字は入力できるけど
変換対象から外れてしまうので漢字や濁点が入力出来なくなった
TextAreaは問題なく入力出来る
シミュレーターの問題かと思ったけど実機でもダメだった
原因?
TableViewのRow内にTextFieldを配置するとおかしくなるみたい
<TableViewRow> <TextField id="q"></TextField> </TableViewRow>
解決方法
TextFieldを直接配置したのがまずいのかな?と思って
とりあえずViewで囲ってみたら直った
<TableViewRow> <View> <TextField id="q"></TextField> </View> </TableViewRow>
3.1.3のバグかな?仕様なのかな?良くわからないな
titleControlのボタンの背景色の変更が出来た?
結局ボタンじゃ出来なかったんだけど
ButtonBarに変更してTi.UI.iPhone.SystemButtonStyle.BARを指定したらうまく出来た。
ボタン1個でButtonBarを使うのはどうかと思ったけどToolBar使うよりはだいぶまし。
titleControlのボタンの背景色が変更出来ない
navigationGroupのNavBarに3つボタンを置きたくて
titleControlにボタンとタイトルを配置しようかと試してるんだけど
ボタンの背景色が変更出来ない(・_・)
leftNavButtonとかと同じ見た目にしたいだけなのに。
ToolBarを上に被せるって荒業しかないのかな。