Skip to content
This repository

FRLayeredNavigationController, an iOS container view controller that works like a stack of paper with an API similar to UINavigationController.

branch: master
Octocat-spinner-32 FRLayeredNavigationController.xcodeproj Issue #41: iOS 7 Support (still supports iOS 6 and older) September 28, 2013
Octocat-spinner-32 FRLayeredNavigationController TRIVIAL: Updated iOS 7 Screenshot (and long line fix) September 28, 2013
Octocat-spinner-32 FRLayeredNavigationControllerDemo TRIVIAL: Updated Copyright Year to 2013 September 28, 2013
Octocat-spinner-32 docs UPDATE: Documentation May 27, 2013
Octocat-spinner-32 .gitignore initial commit April 23, 2012
Octocat-spinner-32 AUTHORS TRIVIAL: Updated Copyright Year to 2013 September 28, 2013
Octocat-spinner-32 AppledocSettings.plist README: linked to API documentation June 17, 2012
Octocat-spinner-32 CodingConventions.md MINOR: Modernized Codebase August 24, 2013
Octocat-spinner-32 FRLayeredNavigationController.podspec TRIVIAL: Bump version to 0.4.4 March 01, 2013
Octocat-spinner-32 FRLayeredNavigationControllerRotation.png BUGFIX: more correct handling of view.bounds and view.frame August 07, 2012
Octocat-spinner-32 FRLayeredNavigationControllerScreenshot-iOS7.png TRIVIAL: Updated iOS 7 Screenshot (and long line fix) September 28, 2013
Octocat-spinner-32 FRLayeredNavigationControllerScreenshot1.png added screenshots May 19, 2012
Octocat-spinner-32 FRLayeredNavigationControllerScreenshot2.png added screenshots May 19, 2012
Octocat-spinner-32 LICENSE LICENSE CHANGE TO 3BSD June 04, 2012
Octocat-spinner-32 README.md Issue #41: iOS 7 Support (still supports iOS 6 and older) September 28, 2013
Octocat-spinner-32 VERSION TRIVIAL: Bump version to 0.4.4 March 01, 2013
Octocat-spinner-32 generate-html-documentation.sh DOC: updated documentation (displayShadow/enableUserInteraction) July 29, 2012
Octocat-spinner-32 syncheck.sh MINOR: Modernized Codebase August 24, 2013
README.md

FRLayeredNavigationController

FRLayeredNavigationController, an iOS container view controller with an API similar to UINavigationController. Influenced by the UI of the Twitter and Soundcloud iPad apps, the user will think of a stack of paper and has similar interaction options.

Official Project Home: https://github.com/weissi/FRLayeredNavigationController . You can also find FRLayeredNavigationController at Ohloh.

See below for documentation and instructions (including a screencast) on how to add FRLayeredNavigationController to your project.

If you have further questions, feel free to mail me!

Flattr this git repo

©2012-2013, Johannes Weiß for factis research GmbH.

Documentation

Features

  • The API feels very natural to iOS developers since it's very similar to the API of UINavigationController
  • FRLayeredNavigationController uses ARC (automatic reference counting) but you can use it in your legacy projects without ARC, too
  • Low memory conditions and rotation are handled correctly with FRLayeredNavigationController
  • FRLayeredNavigationController works on the iPad, the iPhone and iPod touch but the UI concept is best on the iPad since the big screen
  • You can easily install FRLayeredNavigationController using CocoaPods or manually (screencast and instructions below)
  • Correctly handles view.frame and view.bounds and has therefore no problems with view.transform (such as rotations) as you can see on this screenshot.
  • App Store compatible (uses only Public API and was already approved by Apple)
  • iOS 7 Support (still supports iOS6 and older with old visuals)

License

It's all open source but you can use it in your commercial product free of charge. FRLayeredNavigationController is licensed under the terms of the Modified BSD License.

Demo Videos

Screenshots

Known Users

RecordBox (App Store)

Checkpad MED

Wunderlist (App Store)

Adding FRLayeredNavigationController to your project

FRLayeredNavigationController is compiled as static libraries. It use Xcode's "dependent project" facilities. If you're familiar with CocoaPods use that, just add the dependency 'FRLayeredNavigationController' to your Podfile.

Here is how: Estimated time: 5 minutes.

There's also a screencast which shows how to add FRLayeredNavigationController to a project and how to switch from UINavigationController to FRLayeredNavigationController: http://youtu.be/k9bFAYtoenw .

  1. Clone the FRLayeredNavigationController git repository: git clone git@github.com:weissi/FRLayeredNavigationController.git. Make sure you store the repository in a permanent place because Xcode will need to reference the files every time you compile your project.

  2. Locate the "FRLayeredNavigationController.xcodeproj" file under "FRLayeredNavigationController". Drag FRLayeredNavigationController.xcodeproj and drop it onto the root of your Xcode project's "Groups and Files" sidebar.

  3. Now you need to link the FRLayeredNavigationController static libraries to your project. Add libFRLayeredNavigationController.a to the Link Binary With Libraries section of your project's Build phases.

  4. Finally, we need to tell your project where to find the FRLayeredNavigationController headers. Open your "Project Settings" and go to the "Build" tab. Look for "Header Search Paths" and double-click it. Add the relative path from your project's directory to the "FRLayeredNavigationController/" directory.

  5. While you are in Project Settings, go to "Other Linker Flags" under the "Linker" section, and add "-ObjC", "-fobjc-arc" and "-all_load" to the list of flags.

  6. You're ready to go. Just #import "FRLayeredNavigationController/FRLayeredNavigation.h" anywhere you want to use FRLayeredNavigationController in your project.

If you want to, you can install appledoc and type appledoc . in FRLayeredNavigationController's root directory to install the API documentation in Xcode.

Something went wrong with that request. Please try again.