This method, will help you to make a view "pull to refresh" in your TableView.
To use this method, you will need to include this files in your project:
Ti.include("lib/date.js"); Ti.include("lib/pulltorefresh.js");
After include the libraries, you will need to instance a pull-to-refresh variable, like this:
var pullToRefresh = PullToRefresh.createPullToRefresh({ backgroundColor:"#CCC", labelColor:"#000", action: function() { setTimeout(function() { refresh(); }, 500) } });
You can configure the colors, and in the action, you will put the callback, when the user pull the view (the action). After this, you will add the pull-to-refreshed instanced to your TableView and copy two events (scroll and scrollEnd), like this:
var tableView = Ti.UI.createTableView();tableView.headerPullView = pullToRefresh;
tableView.addEventListener("scroll",function(e) { PullToRefresh._scroll(e); });
tableView.addEventListener("scrollEnd",function(e) { PullToRefresh._begin(e, this); });
And, when you finish to show your new data, you will need to keep your TableView at the top, like this:
PullToRefresh._end(function() { tableView.setContentInsets({top:0},{animated:true}); });