Home

Awesome

N8iveKit

A set of frameworks making iOS development more fun, developed by N8ive Apps

Frameworks

More frameworks to be added, stay tuned :relaxed:

InterfaceKit

NKViewController:

The base type replacement for UIViewController that adds N8iveKit supporting logic.

NKNavigationController:

Replaces UINavigationController by adding more features:

To access the NavigationBar, just call adaptableNavigationBar property of the NKNavigationController.

NKTabBarController:

Replaces UITabBarController by adding more features:

To access the TabBar, just call adaptableTabBar property of the NKTabBarController.

NKActivityIndicatorView:

Replaces UIActivityIndicatorView by adding the ability to use your own animatable layer and handle it.

NKRefreshControl:

Replaces UIRefreshControl by adding the ability to use your own animatable layer and handle it, below is an example on how to use it.

let rc = NKRefreshControl()

override func viewDidLoad() {
  super.viewDidLoad()
  rc.tintColor = UIColor.red
  rc.addTarget(self, action: #selector(RefreshViewController.refresh), for: UIControlEvents.valueChanged)
  self.scrollView.refreshControl = rc
}

@objc func refresh(){
  DispatchQueue.main.asyncAfter(deadline: (DispatchTime.now() + Double(5.0))) { () -> Void in
  	self.rc.endRefreshing()
  }
}

func scrollViewDidScroll(_ scrollView: UIScrollView) {
  rc.scrollViewDidScroll(scrollView)
}

AuthKit

OAuth2Client:

The base class for handling OAuth2 flow on iOS using SFSafariViewController, currently supportsOAuth2CodeGrant , tested on Facebook , Google & Github (example app includes code for all).

OAuth2Clientsupports custom handlers for updating UI during the authentication flow.

Requirements

Installation

Manually

N8iveKit can be integrated manually into your project, dependency managers support coming soon.

Embedded Framework

Please note that some frameworks depend on others, so you have to include all needed frameworks.

Usage

You can use Interface builder and change the element type to your desired one, or you can simple initialize the elements in code.

Included Open source libraries

Communication

License

N8iveKit is released under the MIT license. See LICENSE for details.