3

うまくいけば簡単な質問...私はそれをすべきではないことを意味する可能性があるドキュメントでこれを見つけることができません.

「ソース」コントローラと「ソース」ビューがあるとしましょう。

通常、私は次のようなことをします:

var sources = Alloy.createController('source');
$.index.add(sources.getView());

ここで、ソースが ipad の向きに基づいて異なるビューを持つようにしたいと考えています。ただし、レイアウトが少し異なるだけで、同じ情報です。

私はこのようなことができるかもしれないと思った:

var sources = Alloy.createController('source');
Ti.Gestures.addEventListener( "orientationchange", function(){
    if(Ti.Gestures.isPortrait()){
       $.index.add( sources.getView('sources/portrait') );
    }else{
       $.index.add( sources.getView('sources/landscape') );
    }
});

明らかに、使用していないビューを削除する必要がありますが、これが一般的な考え方です。

これを行う方法はありますか?

4

1 に答える 1

0

スタックにビューを追加するのではなく、後者のアプローチ(非表示/表示)をお勧めします。AJAXとレスポンシブデザインを備えた従来のHTMLWebページについて考えてみてください。これはJS/CSSを使用して行い、ページをリロードしません。

横向きのみの追加ビューが必要であると想定します

XML: <View id="ExtraLandscapeView">...<View>

TSS: "#ExtraLandscapeView" : { /* Styles here */ }

JS:

if(Ti.Gestures.isPortrait()){
    $.ExtraLandscapeView.visible = false;
} else{
   $.ExtraLandscapeView.visible = true;
}
于 2012-11-08T04:08:23.820 に答える