/titanium-appcelerator-pull-to-refresh

A JavaScript method to make a "pull to refresh" view in your TableView

Primary LanguageJavaScript

What?

This method, will help you to make a view "pull to refresh" in your TableView.

How?

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