iPhone用のいくつかのタブを備えたアプリを構築しています。ここでappceleratorのウェブサイトの質問を言い換えました
縦向きから横向きに変更するとき、ナビゲーションバーを非表示にしたい。
別のタブに切り替えなければ問題なく動作します。しかし、ポートレートで1つのタブを表示し、別のタブに切り替え、ランドスケープビューに変更し、最初のタブに戻ってからポートレートに変更すると、ナビゲーションバー(window.barImage)がすべて引き伸ばされます(ランドスケープのサイズに)ナビゲーションバー)
また、ナビゲーション バーを非表示にするコードをすべて削除すると、同じ問題が発生します。
orientationchange で barImage を再度設定しようとしましたが、それも役に立ちません。
サイト ノート: navBar のすべてのタブで同じ画像を使用していますが、それが問題でしょうか?
ナビゲーションバーの画像を緑色でマークしました。青色の部分は、画像が通常あるべき場所です。
また、画像はナビゲーション バーの縦向きビューに適したサイズであることにも注意してください。
コード:
var windowWidth = Ti.Platform.displayCaps.platformWidth;
var catWin = Ti.UI.createWindow({
title:'',
barImage: 'images/barImage.png',
url:'vacancies/categories.js',
width: windowWidth
});
catWin.orientationModes = [
Titanium.UI.PORTRAIT,
Titanium.UI.LANDSCAPE_LEFT,
Titanium.UI.LANDSCAPE_RIGHT
];
Titanium.Gesture.addEventListener('orientationchange', function(e) {
if(e.orientation == Titanium.UI.LANDSCAPE_RIGHT){
catWin.hideNavBar();
} else if(e.orientation == Titanium.UI.LANDSCAPE_LEFT){
catWin.hideNavBar();
} else if(e.orientation == Titanium.UI.PORTRAIT){
catWin.showNavBar();
}
});