0

私はheaderPullViewでtableViewを使用しています。正常に動作しますが、タブを開いたときにheaderPullViewを表示して、ユーザーが新しいデータが読み込まれたことを確認できるようにします。

GoogleまたはAppceleratorのドキュメントで情報が見つかりません。

私はこれだけを見つけました:http ://developer.appcelerator.com/blog/2010/05/how-to-create-a-tweetie-like-pull-to-refresh-table.html しかし、これはいつ更新する方法を示しているだけですタブはすでにロードされています。そのウィンドウを開いたときに、headerPullViewの読み込みを表示する方法を探しています。

4

2 に答える 2

3

でスクロールをシミュレートすることはできませんheaderPullViewが、のイベントを発生させることはできますscroll

とにかく、私がアドバイスするのは、を作成しheaderView、テーブルの高さを低く設定して、上部から離すことです。イベントにリスナーをアタッチしますopen

var headerView = Ti.UI.createView({
    top: 0,
    height: 60
});

Ti.UI.currentWindow.addEventListener('open', function(e) {
    tableView.top = 60;
    tableView.height = 400;
    Ti.UI.currentWindow.add(headerView);
    Ti.UI.currentWindow.add(tableView);
});

次に、テーブルを最初にスクロールするときに、必要な方法ですべてを元に戻します。

var scrolled = 0;
tableView.addEventListener('scroll', function(e) {
    if(!scrolled) {
        tableView.top = 0;
        tableView.height = 460;
        Ti.UI.currentWindow.remove(headerView);
        scrolled = 1;
    }
    // scroll code
});

ただし、なぜこれを行う必要があるのか​​よくわかりません。Facebookが「シェイクして更新」をこの方法に置き換えた後、私はほとんどすべてのテーブルアプリでそれを見始め、それを期待するようになりました。他の多くのユーザーもこれについて同じように感じていると思いますか?

于 2011-05-09T16:37:30.030 に答える
2

tableViewの代わりにlistViewを使用できます。これは、プルビューをすでにサポートしています。

これを確認してください http://docs.appcelerator.com/titanium/3.0/#!/guide/ListViews-section-37521650_ListViews-PulltoRefresh

または、このモジュールを使用できます

https://github.com/jolicode/Alloy-PullToRefresh

于 2014-11-02T16:48:28.660 に答える