Latest 1.0.6
Homepage https://github.com/recruit-mp/RMPScrollingMenuBarController
License MIT
Platforms ios 7.0, requires ARC
Frameworks UIKit
Authors ,

Version
License
Platform

Overview

RMPScrollingMenuBarController has a scrollable menu bar, and multiple view controllers.

You can switch view controllers, which is managed like a UITabBarController, by swiping a screen or scrolling the menu.

Screen shot

Installation

RMPScrollingMenuBarController is available through CocoaPods.
To install
it, simply add the following line to your Podfile:

pod "RMPScrollingMenuBarController"

Usage

To run the example project, clone the repo, and run pod install from the Example directory first.

Setup is as below:

RMPScrollingMenuBarController* menuController = [[RMPScrollingMenuBarController alloc] init];
menuController.delegate = self;

NSArray* viewControllers = @[vc1, vc2, vc3, vc4, vc5];
[menuController setViewControllers:viewControllers];

UINavigationController* naviController;
naviController = [[UINavigationController alloc] initWithRootViewController:menuController];

Delegate methods are as below:

- (RMPScrollingMenuBarItem*)menuBarController:(RMPScrollingMenuBarController *)menuBarController
                           menuBarItemAtIndex:(NSInteger)index
{
    RMPScrollingMenuBarItem* item = [[RMPScrollingMenuBarItem alloc] init];
    item.title = [NSString stringWithFormat:@"Title %02ld", (long)(index+1)];

    return item;
}

- (void)menuBarController:(RMPScrollingMenuBarController *)menuBarController
 willSelectViewController:(UIViewController *)viewController
{
    NSLog(@"will select %@", viewController);
}

- (void)menuBarController:(RMPScrollingMenuBarController *)menuBarController
  didSelectViewController:(UIViewController *)viewController
{
    NSLog(@"did select %@", viewController);
}

- (void)menuBarController:(RMPScrollingMenuBarController *)menuBarController
  didCancelViewController:(UIViewController *)viewController
{
    NSLog(@"did cancel %@", viewController);
}

Customize

You can customize menu bar, as below:

RMPScrollingMenuBarController* menuController = [[RMPScrollingMenuBarController alloc] init];

// Sets background color.
menuController.view.backgroundColor = [UIColor whiteColor];

// Sets color of indicator line which displayed under menu bar item.
menuController.menuBar.indicatorColor = [UIColor blueColor];

// Hides indicator line which displayed under menu bar item.
menuController.menuBar.showsIndicator = NO;

// Hides Separator line which displayed bottom of menu bar.
menuController.menuBar.showsSeparatorLine = NO;

Also you can customize buttons of menu bar item by implementing delegate methods, as below:


- (RMPScrollingMenuBarItem*)menuBarController:(RMPScrollingMenuBarController *)menuBarController
                           menuBarItemAtIndex:(NSInteger)index
{
    RMPScrollingMenuBarItem* item = [[RMPScrollingMenuBarItem alloc] init];
    item.title = titles[index];

    // Customize appearance of menu bar item.
    UIButton* button = item.button;
    
                 forState:UIControlStateNormal];
    
                 forState:UIControlStateDisabled];
    
                 forState:UIControlStateSelected];

    return item;
}

Infinite paging

Enables infinite paging mode, as below:

RMPScrollingMenuBarController* menuController = [[RMPScrollingMenuBarController alloc] init];
menuController.menuBar.style = RMPScrollingMenuBarStyleInfinitePaging;

Requirements

  • iOS 7.0 or higher

Change Log

1.0.6

  • Adds infinite paging mode.

1.0.5

  • Adds properties for customizing appearance.

1.0.4

  • Fixes crash issue.

1.0.1 ~ 1.0.3

  • Fixes minor issues.

1.0.0

  • First release.

Contribution

If you have feature requests or bug reports, feel free to help out by sending pull requests or by creating new issues.

Author

Yoshihiro Kato, [email protected]
Recruit Marketing Partners Co.,Ltd. [email protected]

License

RMPScrollingMenuBarController is available under the MIT license.

Latest podspec

{
    "name": "RMPScrollingMenuBarController",
    "version": "1.0.6",
    "summary": "A scrollable menu bar and multiple view controllers, which is managed like a UITabBarController.",
    "description": "                      `RMPScrollingMenuBarController` has a scrollable menu bar, and multiple view controllers.nn                      You can switch view controllers, which is managed like a `UITabBarController`, by swiping a screen or scrolling the menu.n",
    "homepage": "https://github.com/recruit-mp/RMPScrollingMenuBarController",
    "screenshots": "https://raw.githubusercontent.com/recruit-mp/RMPScrollingMenuBarController/master/docs/rmpscrollingmenubarcontroller.gif",
    "license": "MIT",
    "authors": {
        "kato": "[email protected]",
        "Recruit Marketing Partners Co.,Ltd.": "[email protected]"
    },
    "source": {
        "git": "https://github.com/recruit-mp/RMPScrollingMenuBarController.git",
        "tag": "1.0.6"
    },
    "platforms": {
        "ios": "7.0"
    },
    "requires_arc": true,
    "source_files": "Pod/Classes",
    "resource_bundles": {
        "RMPScrollingMenuBarController": [
            "Pod/Assets/*.png"
        ]
    },
    "frameworks": "UIKit"
}

Pin It on Pinterest

Share This