Skip to content

indraj/DKScrollingTabController

 
 

Repository files navigation

DKScrollingTabController

A scrolling tab controller alternative to UISegmentedControl.

Build Status Version License Platform

Installation

Manual

Add the files in the DKScrollingTabController folder to your project.

platform :ios, '7.0'
pod 'DKScrollingTabController'

Usage

Objective-C

#import "DKScrollingTabController.h" 

- (id)init {
    self = [super init];
    if (self) {
        // Add controller as a child view controller (standard view controller containment)
        DKScrollingTabController *tabController = [[DKScrollingTabController alloc] init];
        [self addChildViewController:tabController];
        [tabController didMoveToParentViewController:self];
        [self.view addSubview:tabController.view];
        
        // Customize the tab controller (more options in DKScrollingTabController.h or check the demo)
        tabController.view.frame = CGRectMake(0, 20, 320, 40);
        tabController.buttonPadding = 23;
        tabController.selection = @[@"zero", @"one", @"two", @"three", @"four",];
        
        // Set the delegate (conforms to DKScrollingTabControllerDelegate)
        tabController.delegate = self;
    }
    return self;
}


#pragma mark - DKScrollingTabControllerDelegate

- (void)ScrollingTabController:(DKScrollingTabController *)controller selection:(NSUInteger)selection {
    NSLog(@"Selection controller action button with index=%@", @(selection));
}

Swift

class ViewController: UIViewController, DKScrollingTabControllerDelegate {

    let tabController = DKScrollingTabController()
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        self.addChildViewController(tabController)
        tabController.didMoveToParentViewController(self)
        self.view.addSubview(tabController.view)
        tabController.view.frame = CGRectMake(0, 20, 320, 40)
        tabController.buttonPadding = 25
        tabController.selection = ["zero", "one", "two", "three", "four"]
        tabController.delegate = self
    }
        
    func ScrollingTabController(controller: DKScrollingTabController!, selection: UInt) {
        print("tapped \(selection) \n")
    }

}

Customization

  • Change the controller's padding, font, colors and more.
  • Set layoutIsVertical to YES to show the controller vertically.

Demo

DKScrollingTabController includes sample projects in the folders Demo-Objc and Demo-Swift.

Compatibility

  • This project uses ARC.
  • This project was tested with iOS 7 and iOS 8.

Contact

License

DKScrollingTabController is available under the MIT license. See the LICENSE file for more info.

About

Scrolling Tab iOS Control

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Objective-C 87.0%
  • Swift 10.7%
  • Ruby 2.3%