0

私はiPhone iOS 6.0用のAppcelerator Titaniumアプリに取り組んでいます。画像のギャラリーを含むこれを開くコントローラーがあります。Ti.UI.TabGroupTi.UI.Window

すべて正常に機能していますが、最初のタブを開くだけです。実際、別のタブをタップしてからギャラリータブに戻ると、理由がわからない1つを除くすべての画像が消えます。imageViewsオブジェクトがそのプロパティと共にまだ存在することを確認しましたが、非表示になっています。

ここに画像の説明を入力

これは、gallery と imagesView のコードで、「グリッド」のようなレイアウトを取得しようとしています。

    var imagesViewsArray = [];
for(var i=0,images=imageAlbums[0].images;i<images.length;i++){
    var element =Ti.UI.createImageView({
        image : images[i],
        width : 100, height: 75, right:5,
    });
    element.addEventListener('singletap',function(e){
        // [cut] Opening modalWindow with fullscreen image
    });
    imagesViewsArray.push(element);
}

var wrapper = Titanium.UI.createView({
    height: Ti.UI.SIZE,
    width:'auto', layout: 'horizontal',
    left: 5,  top: 5,       bottom: 5,
    children: imagesViewsArray
});

var scrollView = Ti.UI.createScrollView({
    style:'vertical', contentWidth:'auto',
    contentHeight:'auto', layout:'vertical',
    width: '100%' , scrollType: 'vertical',
    showVerticalScrollIndicator: true,
    children: [ wrapper ]
});

galleryWin.add( scrollView );
4

1 に答える 1

0

まあ、それは私にとって新しいものです。「子供」は読み取り専用のプロパティであるはずです。配列を介して子ビューを設定しているため、親ビューに適切に追加されていないか、お気づきのように保持されていません。彼らは時期尚早に去っていきます。

これを適切に機能させるには、親ビューに明示的に .add(eachChildView) を追加します。

シングルタップ イベント リスナーを親ビューに移動し、evt.source が子の 1 つであるかどうか (if (evt.source.image) ...) を検出することで、さらに最適化できます。

于 2012-11-27T23:44:57.460 に答える