CocoaPods trunk is moving to be read-only. Read more on the blog, there are 19 months to go.

NTComponents 1.0.0

NTComponents 1.0.0

TestsTested
LangLanguage SwiftSwift
License MIT
ReleasedLast Release Sep 2017
SwiftSwift Version 4.0
SPMSupports SPM

Maintained by Nathan Tannar.



  • By
  • Nathan Tannar






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!

Features

  • 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!)

Documentation

While NTComponents has yet to be fully documented, you can find the docs here: https://nathantannar.me/NTComponents/docs/

Requirements

  • iOS 9.1+
  • Xcode 9.0+
  • Swift 4

Installation

Manually

  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(https://nathantannar.me/NTComponents/docs/)! While they are not complete yet I plan to work on documentation.

import NTComponents

@UIApplicationMain
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
        Color.Default.setCleanShadow()

        // 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

Onboarding

Login

Alerts

Controller Containers

Forms

And Much, Much, More

Planned Improvements/Additons

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

Contribute

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

Bugs

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

Author

Nathan Tannar - https://nathantannar.me

Acknowledgements

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 - https://github.com/bhlvoong/LBTAComponents
Raul Riera - https://github.com/raulriera/TextFieldEffects
patchthecode - https://github.com/patchthecode/JTAppleCalendar
Zheng-Xiang Ke - https://github.com/kf99916/TimelineTableViewCell
Ryo Aoyama - https://github.com/ra1028/Former
Amornchai Kanokpullwad - https://github.com/zoonooz/ZFRippleButton

And to all of the contributors on StackOverflow

License

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

https://github.com/nathantannar4/NTComponents