A collection of a handy user interface components to be used with the Parse iOS SDK.

License: Other

Language: Objective-C


Build Status Pod Version Pod Platform Pod License


ParseUI is a collection of a handy user interface components to be used with Parse iOS SDK,
which streamline and simplify logging in / signing up PFUsers and displaying a list of PFObjects.

Getting Started


ParseUI is available on CocoaPods. Add the following to your Podfile:

pod 'ParseUI'

Packaged Releases

You can download the latest release in a form of ParseUI.framework from our Releases page.

Add ParseUI.framework to your Xcode project by dragging it into your project folder target, then add the following to any files that use ParseUI components:

#import <ParseUI/ParseUI.h>

Build from Source

ParseUI can also be built from source and supports Xcode subproject referencing.
Follow these steps to build and run via source code:

  • Download the source code via git clone or in an archive
  • Run pod install in the repo root to download all the dependencies
  • Open ParseUI.xcworkspace
  • Build and Run ParseUIDemo target



If you are using Parse to manage users in your mobile app, you are already familiar with the PFUser class.
At some point in your app, you might want to present a screen to log in your PFUser.
ParseUI provides a view controller that does exactly this:

PFLogInViewController *logInViewController = [[PFLogInViewController alloc] init];
logInViewController.delegate = self;
[self presentViewController:logInViewController animated:YES completion:nil];


If you are using PFLogInViewController with the PFLogInFieldsSignUpButton option enabled, you do not need to do any additional work to enable the sign up functionality.
When your user taps on the sign up button on the log in screen - a sign up screen will appear.
However, there are occasions where you might want to use the sign up screen independently of the log in screen.
This is when the PFSignUpViewController comes in handy.

PFSignUpViewController *controller = [[PFSignUpViewController alloc] init];
controller.delegate = self;
[self presentViewController:controller animated:YES completion:nil];


Data oriented iOS applications are mostly a collection of UITableViewControllers and corresponding UITableViews.
When using Parse, each cell of a UITableView typically represents data from a PFObject.
PFQueryTableViewController is a sub-class of UITableViewController that provides a layer of abstraction that lets you easily display data from one of your Parse classes.

PFQueryTableViewController *controller = [[PFQueryTableViewController alloc] initWithStyle:UITableViewStylePlain className:@"Todo"];
[self presentViewController:controller animated:YES completion:nil];


A lot of advanced use cases usually include displaying data in a custom dynamic layout that is different from a simple list. PFQueryTableViewController is a sub-class of UICollectionViewController that provides a layer of abstraction that lets you easily display data from one of your Parse classes in any dynamic and custom layout you might think of

To display data in a simple grid layout you can use the default UICollectionViewFlowLayout:

PFQueryCollectionViewController *controller = [[PFQueryCollectionViewController alloc] initWithClassName:@"Todo"];
UICollectionViewFlowLayout *flowLayout = (UICollectionViewFlowLayout *)controller.collectionViewLayout;
flowLayout.itemSize = CGSizeMake(100.0f, 100.0f);
[self presentViewController:controller animated:YES completion:nil];

And, for example, to display data in a circular layout - you can pass an instance of UICollectionViewLayout at initialization time:

UICollectionViewLayout *customCircularLayout = ...;
PFQueryCollectionViewController *controller = [[PFQueryCollectionViewController alloc] initWithCollectionViewLayout:customCircularLayout
[self presentViewController:controller animated:YES completion:nil];


Many apps need to display images stored in the Parse Cloud as PFFiles.
However, to load remote images with the built-in UIImageView involves writing many lines of boilerplate code.
PFImageView simplifies this task by abstracting away these parts.

PFImageView *imageView = [[PFImageView alloc] init];
imageView.image = [UIImage imageNamed:@"..."]; // placeholder image
imageView.file = (PFFile *)someObject[@"picture"]; // remote image
[imageView loadInBackground];


PFProductTableViewController is a subclass of PFQueryTableViewController that displays all IAP products in a table view. Some content apps, such as an app that sells comic books or video tutorials, may find it handy to use PFProductTableViewController to sell the products. By default, each cell is a product, and tapping on a cell initiates the purchase for the product. If the product has associated downloadable content, the download will start when the cell is selected and a progress bar is displayed to indicate the progress of the download.

Learn More


See the CONTRIBUTING file for how to help out.

Project Statistics

Sourcerank 11
Repository Size 628 KB
Stars 962
Forks 328
Watchers 102
Open issues 62
Dependencies 12
Contributors 16
Tags 13
Last updated
Last pushed

Top Contributors See all

Nikita Lutsenko nlutsenko-fb Hugues Bernet-Rollande Grantland Chew Jeroen Leenarts Kostub Deshmukh Duncan Cunningham Stanley Wang Richard Ross Thiago Ghisi Hakon Hanesand Héctor Ramos Gan Chau Natan Rolnik Dan Reese Tobias Hagemann

Packages Referencing this Repo

ParseUI is a library of useful User Interface components for the Parse iOS SDK.
Latest release 1.2.0 - Updated - 962 stars

Recent Tags See all

1.2.0 January 08, 2016
1.1.7 November 18, 2015
1.1.6 September 10, 2015
1.1.5 August 14, 2015
1.1.4 May 20, 2015
1.1.3 April 01, 2015
1.1.2 March 31, 2015
1.1.1 March 02, 2015
1.1.0 January 22, 2015
1.0.3 January 12, 2015
1.0.2 December 09, 2014
1.0.1 November 08, 2014
1.0.0 November 06, 2014

Something wrong with this page? Make a suggestion

Last synced: 2016-12-13 12:17:15 UTC

Login to resync this repository