Latest 1.0.0
License MIT
Platforms ios 9.1, requires ARC
Frameworks UIKit

Swift Version
Build Status
CocoaPods Compatible [CocoaPods]()

For the better part of two years I have been learning Swift. During this time I used a lot of 3rd party dependencies to build out my apps. While they were useful for getting started, I wanted to dive deeper and create my own set of components that would have the essentials I would need to develop apps moving forward.

I faced an ongoing problem of always having to set the tint color, font choice and general defaults for every project. To solve this I made NTComponents. A set of classes that will inherit defaults defined in AppDelegate. This grew into also adding useful extensions, models and custom views simplify app creation while maintaining great UI/UX.

Hit that star button to show your support!


  • Maintain consistency and style with ease
    • Set global app defaults, such as color or font, that will be defaults in all NTComponent classes
  • Custom container controllers
    • NTDrawerController, NTScrollableTabBarController and more!
  • Material color palette available
  • FontAwesome and GoogleMaterialDesign icons available
  • Material ripple effect for buttons and views available
  • Programatic auto layout
  • Many useful extensions (seriously take a look!)


While NTComponents has yet to be fully documented, you can find the docs here:


  • iOS 9.1+
  • Xcode 9.0+
  • Swift 4



You can use CocoaPods to install NTComponents by adding it to your Podfile:

platform :ios, '9.1'
pod 'NTComponents'

Now, rather than importing UIKit use the following

import NTComponents


  1. Download and open NTComponents.xcproject
  2. Build the framework
  3. Copy the NTComponents.framework product to your project

Release History

  • 1.0.0
    • Swift 4
  • 0.0.7
    • More views, bug fixes and optimizations
  • 0.0.6
    • Added calendar view integration from JTAppleCalendar and an all new NTDrawerController
  • 0.0.5
    • Bug Fixes & Tweaks, introduction of NTFormViewController to easily make forms
  • 0.0.4
    • Focus on animations and alert view updates
  • 0.0.3
    • Focus on bug fixes and optimizations
  • 0.0.2
    • Completed the majority of main components
  • 0.0.1
    • Branch from NTUIKit

Getting Started

I would recommend taking a look at the sample code that generates the NTComponents Demo app. Also try taking a look at the Jazzy generated Docs(! While they are not complete yet I plan to work on documentation.

import NTComponents

class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

        // Set color defaults
        Color.Default.setPrimary(to: .white)
        Color.Default.setSecondary(to: .red)
        Color.Default.Text.Title = .blue

        // If you want the shadow to be more standard

        // Set your font defaults
        Font.Default.Title = Font.Roboto.Medium.withSize(15)
        Font.Default.Subtitle = Font.Roboto.Regular
        Font.Default.Body = Font.Roboto.Regular.withSize(13)

        return true

    // More standard AppDelegate methods

Screen Captures




Controller Containers


And Much, Much, More

Planned Improvements/Additons

  • NTCollectionViewCell
    • More base cells
  • Camera controller
  • More docs


We would love for you to contribute to NTComponents with more useful extensions, models or UI classes. If interested please contact myself.


Find a bug? Please feel free to let me know!


Nathan Tannar –


I would like to thank the following open source developers. Some of which I either drew inspiration upon or reworked their code into NTComponents

Brian Voong –
Raul Riera –
patchthecode –
Zheng-Xiang Ke –
Ryo Aoyama –
Amornchai Kanokpullwad –

And to all of the contributors on StackOverflow


Distributed under the MIT license. See LICENSE for more information.

Latest podspec

    "name": "NTComponents",
    "platforms": {
        "ios": "9.1"
    "summary": "A collection of everything I find useful when developing any app!",
    "requires_arc": true,
    "version": "1.0.0",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    "authors": {
        "Nathan Tannar": "[email protected]"
    "homepage": "",
    "source": {
        "git": "",
        "tag": "1.0.0"
    "frameworks": "UIKit",
    "source_files": "NTComponents/**/*.{swift}",
    "resources": "NTComponents/**/*.{xcassets,otf,ttf,xib,storyboard}",
    "pushed_with_swift_version": "4.0"

Pin It on Pinterest

Share This