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
ParseUI is available on CocoaPods.
Add the following to your
You can download the latest release in a form of
ParseUI.framework from our Releases page.
ParseUI.framework to your Xcode project by dragging it into your project folder target, then add the following to any files that use
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 cloneor in an archive
pod installin the repo root to download all the dependencies
- Build and Run
If you are using Parse to manage users in your mobile app, you are already familiar with the
At some point in your app, you might want to present a screen to log in your
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
When using Parse, each cell of a
UITableView typically represents data from a
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
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 className:@"Todo"]; [self presentViewController:controller animated:YES completion:nil];
Many apps need to display images stored in the Parse Cloud as
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.
- Check out ParseUIDemo project
- Read the iOS Guides
- Browse official API Reference
- Follow few tutorials
See the CONTRIBUTING file for how to help out.