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});
});