CarbonKit is an open source iOS library that includes powerful and beauty UI components.
CarbonKit includes:
- CarbonSwipeRefresh
- CarbonTabSwipeNavigation
#Installation CarbonKit is available on CocoaPods. Add to your Podfile:
use_frameworks!
pod 'CarbonKit', '~>2.1'
and run
pod install
Carthage is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks.
You can install Carthage with Homebrew using the following command:
$ brew update
$ brew install carthage
To integrate CarbonKit into your Xcode project using Carthage, specify it in your Cartfile
:
github "ermalkaleci/CarbonKit"
Run carthage update
to build the framework and drag the built CarbonKit.framework
into your Xcode project.
#import "CarbonKit.h"
@interface ViewController ()
{
CarbonSwipeRefresh *refresh;
}
@end
@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];
}
@end
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];
}
}
#import "CarbonKit.h"
@interface ViewController () <CarbonTabSwipeNavigationDelegate>
@end
@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
}
@end
Swift Sample
import CarbonKit
class ViewController: UIViewController, CarbonTabSwipeNavigationDelegate {
// MARK: Override methods
override func viewDidLoad() {
super.viewDidLoad()
let items = ["Features", "Products", "About"]
let carbonTabSwipeNavigation = CarbonTabSwipeNavigation(items: items, delegate: self)
carbonTabSwipeNavigation.insertIntoRootViewController(self)
// or carbonTabSwipeNavigation.insertIntoRootViewController(self, andTargetView: yourView)
}
func carbonTabSwipeNavigation(carbonTabSwipeNavigation: CarbonTabSwipeNavigation, viewControllerAtIndex index: UInt) -> UIViewController {
// return viewController at index
}
}