CarbonKit - iOS Components (Obj-C & Swift)
Clone or download
Latest commit 3d0f695 Jan 8, 2018
Failed to load latest commit information.
CarbonKit.xcodeproj iPhoneX support Sep 23, 2017
CarbonKit fix Oct 11, 2017
CarbonKitTests carthage support Oct 13, 2016
Examples support for iPhoneX & bug fixes Oct 11, 2017
Resources carthage support Oct 13, 2016
.gitignore carthage support Oct 13, 2016
CarbonKit.podspec fix Oct 11, 2017
LICENSE Initial commit Feb 28, 2015 Update Jan 8, 2018

alt tag

Carthage compatible CocoaPods compatible License: MIT

IMPORTANT NOTE: Please don't submit issues for questions regarding your code. Only actual bugs or feature requests will be answered, all others will be closed without comment. In case of reporting a bug, please include a screenshot and the code to reproduce it.

CarbonKit is an open source iOS library that includes powerful and beauty UI components.

CarbonKit includes:

  • CarbonSwipeRefresh
  • CarbonTabSwipeNavigation


Add following line into your Cartfile

github "ermalkaleci/CarbonKit"

Run carthage update


CarbonKit is available on CocoaPods. Add to your Podfile:

pod 'CarbonKit'

Run pod install


alt tag


#import "CarbonKit.h"

@interface ViewController () <CarbonTabSwipeNavigationDelegate>

@implementation ViewController

- (void)viewDidLoad {
	[super viewDidLoad];

	NSArray *items = @[[UIImage imageNamed:@"home"], [UIImage imageNamed:@"hourglass"],
	[UIImage imageNamed:@"premium_badge"], @"Categories", @"Top Free",
	@"Top New Free", @"Top Paid", @"Top New Paid"];

	CarbonTabSwipeNavigation *carbonTabSwipeNavigation =
	[[CarbonTabSwipeNavigation alloc] initWithItems:items delegate:self];
	[carbonTabSwipeNavigation insertIntoRootViewController:self];
	// or [carbonTabSwipeNavigation insertIntoRootViewController:self andTargetView:yourView];

// delegate
- (UIViewController *)carbonTabSwipeNavigation:(CarbonTabSwipeNavigation *)carbonTabSwipeNavigation
			 viewControllerAtIndex:(NSUInteger)index {
	// return viewController at index


Swift Sample

import CarbonKit

class ViewController: UIViewController, CarbonTabSwipeNavigationDelegate {

    // MARK: Override methods
    override func viewDidLoad() {
        let items = ["Features", "Products", "About"]
        let carbonTabSwipeNavigation = CarbonTabSwipeNavigation(items: items, delegate: self)
		// or carbonTabSwipeNavigation.insertIntoRootViewController(self, andTargetView: yourView)

    func carbonTabSwipeNavigation(carbonTabSwipeNavigation: CarbonTabSwipeNavigation, viewControllerAtIndex index: UInt) -> UIViewController {
        // return viewController at index


alt tag


#import "CarbonKit.h"

@interface ViewController ()
	CarbonSwipeRefresh *refresh;

@implementation ViewController
- (void)viewDidLoad {
	[super viewDidLoad];

	refresh = [[CarbonSwipeRefresh alloc] initWithScrollView:self.tableView];
	[refresh setColors:@[
		[UIColor blueColor],
	 	[UIColor redColor],
		[UIColor orangeColor],
		[UIColor greenColor]]
	]; // default tintColor

	// If your ViewController extends to UIViewController
	// else see below
	[self.view addSubview:refresh];

	[refresh addTarget:self action:@selector(refresh:) forControlEvents:UIControlEventValueChanged];

- (void)refresh:(id)sender {
	[refresh endRefreshing];

If you are using UITableViewController you must add the refreshControl into self.view.superview after viewDidAppear

- (void)viewDidAppear:(BOOL)animated {
	[super viewDidAppear:animated];

	if (!refreshControl.superview) {
		[self.view.superview addSubview:refreshControl];


The MIT License (MIT)