ermalkaleci / CarbonKit

CarbonKit - iOS Components (Obj-C & Swift)
MIT License
682 stars 164 forks source link
carbonkit ios swiperefresh tabnavigation

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:

Carthage

Add following line into your Cartfile

github "ermalkaleci/CarbonKit"

Run carthage update

CocoaPods

CarbonKit is available on CocoaPods. Add to your Podfile:

use_frameworks!
pod 'CarbonKit'

Run pod install

CarbonTabSwipeNavigation

alt tag

SAMPLE CODE

#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
    }
}

CarbonSwipeRefresh

alt tag

SAMPLE CODE

#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];
    }
}

LICENSE

The MIT License (MIT)