2

アプリのスクロール可能なビューが非常にぎくしゃくしている理由を理解しようとしています。ページ間をスワイプすると、途中で一時的に停止します。各ページの内容は複雑ではなく、いくつかのテキスト フィールドと画像だけです。ページ数は 8 までです。私が使用しているバージョンは次のとおりです。Titanium 3.1.2GA Alloy 1.2.1 iPhone4 の iOS 6.1.3 <<< 重要 - iPhone5 ではジャーキーはそれほど目立たない 昨年 11 月にこのプロジェクトを開始し、途中で環境をアップグレードしたことに注意してください。リリースが利用可能になりました。古いコードが使用されている可能性はありますか? この問題のために 1.0 より前の Alloy の初期のバグが発生しているのを見ましたが、まだ私の環境に存在する可能性はありますか? 標準の 2 タブ Alloy テンプレートを使用してテスト アプリを作成し、以下のコードを追加しました。2 番目のタブでは、タブ 1 で使用した画像をディスクに保存しました。タブ 3 には画像がありませんでしたが、それでも少しぎくしゃくしていました。私のアプリでは、各ページにさらにいくつかのビューがあり、非常にぎくしゃくしています。誰か提案があれば、本当に感謝しています。私の環境が原因ではないことを確認するために、iPhone4で問題を確認していただければ幸いです(アンインストールして再インストールすることはできると思いますが、すべてを適切にアンインストールする方法がわかりません)。乾杯、ラース

索引.xml

<Alloy>
    <TabGroup>
        <Tab title="Tab 1" icon="KS_nav_ui.png">
            <Window id="window1" title="Tab 1">
            </Window>
        </Tab>
        <Tab title="Tab 2" icon="KS_nav_views.png">
            <Window id="window2" title="Tab 2">
            </Window>
        </Tab>
        <Tab title="Tab 3" icon="KS_nav_ui.png">
            <Window id="window3" title="Tab 3">
            </Window>
        </Tab>
    </TabGroup>

Index.js

function createViews() {
    var v10 = createPage('http://upload.wikimedia.org/wikipedia/commons/thumb/e/ec/Mona_Lisa%2C_by_Leonardo_da_Vinci%2C_from_C2RMF_retouched.jpg/402px-Mona_Lisa%2C_by_Leonardo_da_Vinci%2C_from_C2RMF_retouched.jpg', "#00FFFF");
    var v11 = createPage('http://upload.wikimedia.org/wikipedia/commons/thumb/e/ec/Mona_Lisa%2C_by_Leonardo_da_Vinci%2C_from_C2RMF_retouched.jpg/402px-Mona_Lisa%2C_by_Leonardo_da_Vinci%2C_from_C2RMF_retouched.jpg', "#FF00FF");
    var v12 = createPage('http://upload.wikimedia.org/wikipedia/commons/thumb/e/ec/Mona_Lisa%2C_by_Leonardo_da_Vinci%2C_from_C2RMF_retouched.jpg/402px-Mona_Lisa%2C_by_Leonardo_da_Vinci%2C_from_C2RMF_retouched.jpg', "#FFFF00");
    var v13 = createPage('http://upload.wikimedia.org/wikipedia/commons/thumb/e/ec/Mona_Lisa%2C_by_Leonardo_da_Vinci%2C_from_C2RMF_retouched.jpg/402px-Mona_Lisa%2C_by_Leonardo_da_Vinci%2C_from_C2RMF_retouched.jpg', "#FFFFFF");
    var v14 = createPage('http://upload.wikimedia.org/wikipedia/commons/thumb/e/ec/Mona_Lisa%2C_by_Leonardo_da_Vinci%2C_from_C2RMF_retouched.jpg/402px-Mona_Lisa%2C_by_Leonardo_da_Vinci%2C_from_C2RMF_retouched.jpg', "#FFFFFF");
    var v15 = createPage('http://upload.wikimedia.org/wikipedia/commons/thumb/e/ec/Mona_Lisa%2C_by_Leonardo_da_Vinci%2C_from_C2RMF_retouched.jpg/402px-Mona_Lisa%2C_by_Leonardo_da_Vinci%2C_from_C2RMF_retouched.jpg', "#FFFFFF");

    var v20 = createPage("images/Mona_Lisa.jpg", "#00FFFF");
    var v21 = createPage("images/Mona_Lisa.jpg", "#FF00FF");
    var v22 = createPage("images/Mona_Lisa.jpg", "#FFFF00");
    var v23 = createPage("images/Mona_Lisa.jpg", "#FFFFFF");
    var v24 = createPage("images/Mona_Lisa.jpg", "#FFFFFF");
    var v25 = createPage("images/Mona_Lisa.jpg", "#FFFFFF");

    var v30 = createPage(null, "#229900");
    var v31 = createPage(null, "#333333");
    var v32 = createPage(null, "#009900");
    var v33 = createPage(null, "#FF77FF");
    var v34 = createPage(null, "#007744");
    var v35 = createPage(null, "#009988");
    var v36 = createPage(null, "#DDBB00");
    var v37 = createPage(null, "#CCCCCC");
    var v38 = createPage(null, "#99FFFF");

    var photosView1 = Ti.UI.createScrollableView({
        views:[
            v10,v11,v12,v13,v14,v15 // http images
        ],
        showPagingControl:true,
        cacheSize: 21
    });

    $.window1.add(photosView1);

    var photosView2 = Ti.UI.createScrollableView({
        views:[
            v20,v21,v22,v23,v24,v25 // file images
        ],
        showPagingControl:true,
        cacheSize: 21
    });
    $.window2.add(photosView2);

    var photosView3 = Ti.UI.createScrollableView({
        views:[
            v30,v31,v32,v33,v34,v35  // colored pages
        ],
        showPagingControl:true,
        cacheSize: 21
    });
    $.window3.add(photosView3);
}

function createPage(image, bkgColor) {
    var detailsView = Ti.UI.createView({
        width: Ti.UI.FILL,
        height: Ti.UI.FILL,
        top: 5,
        left: 5,
        right: 5,
        bottom: 100,
        backgroundColor: bkgColor
    });

    if (image) {
        var imageView = Ti.UI.createImageView({
            image:image
        });
        detailsView.add(imageView);
    }

    var labelView0 = Ti.UI.createLabel({
        text: "Label 0"
    });
    detailsView.add(labelView0);

    var pageView = Ti.UI.createView({
        width: Ti.UI.FILL,
        height: Ti.UI.FILL,
        backgroundColor: "#E4E8E8"  
    });
    pageView.add(detailsView);

    var labelContainer = Ti.UI.createView({
        height: 90,
        bottom: 5,
        left: 5,
        right: 5,
        backgroundColor: "#FFAAFF"
    });
    pageView.add(labelContainer);

    var labelView1 = Ti.UI.createLabel({
        bottom: 50,
        text: "Label 1"
    });
    labelContainer.add(labelView1);

    var labelView2 = Ti.UI.createLabel({
        bottom: 10,
        text: "Label 2"
    });
    labelContainer.add(labelView2);

    return pageView;
}

createViews();
$.index.open();

2013 年 9 月 6 日 ...

レイアウトのあいまいさがぎこちなさを引き起こす可能性があるというコメントに基づいて、絶対位置とサイズを持つビューで試しました。また、画像ビューと同じサイズのファイル システムの画像のみを使用しました。以下のコードを参照してください。良くはなりましたが、ぎこちなさはまだ残っています。つまり、下敷きの問題は絶対的な位置とサイズでは解決されません。

function createPage(image, bkgColor) {
    var detailsView = Ti.UI.createView({
        width: 300,
        height: 300,
        top: 0,
        backgroundColor: bkgColor
    });

    if (image) {
        var imageView = Ti.UI.createImageView({
            width: 300,
            height: 300,
            image:image
        });
        detailsView.add(imageView);
    }
    else {
        var labelView0 = Ti.UI.createLabel({
            width: 300,
            height: 300,
            text: "No Image"
        });
        detailsView.add(labelView0);
    }

    var pageView = Ti.UI.createView({
        width: 300,
        height: 400,
        backgroundColor: "#E4E8E8"  
    });
    pageView.add(detailsView);

    var labelContainer = Ti.UI.createView({
        width: 300,
        height: 100,
        top: 300,
        backgroundColor: "#FFAAFF"
    });
    pageView.add(labelContainer);

    var labelView1 = Ti.UI.createLabel({
        width: 300,
        height: 20,
        top: 10,
        left: 10,
        text: "Label 1"
    });
    labelContainer.add(labelView1);

    var labelView2 = Ti.UI.createLabel({
        width: 300,
        height: 20,
        top: 40,
        left: 10,
        text: "Label 2"
    });
    labelContainer.add(labelView2);

    return pageView;
}
4

1 に答える 1

1

私にとって、それはscrollableView.cacheSize財産と関係がありました。ビュー配列の長さに設定してみてください。

于 2013-09-05T14:31:14.007 に答える