RMPScrollingMenuBarController 1.0.6

RMPScrollingMenuBarController 1.0.6

测试已测试
Lang语言 Obj-CObjective C
许可协议 MIT
发布最后发布2015年4月

recruit-mp 维护。




  • kato 和 Recruit Marketing Partners Co.,Ltd.

概述

RMPScrollingMenuBarController 具有可滚动的菜单栏和多个视图控制器。

您可以通过滑动屏幕或滚动菜单来切换视图控制器,这与 UITabBarController 的管理方式类似。

Screen shot

安装

RMPScrollingMenuBarController 通过 CocoaPods 提供。
要安装它,只需将以下行添加到您的 Podfile 中

pod "RMPScrollingMenuBarController"

使用方法

要运行示例项目,请克隆仓库,并首先从 Example 目录运行 pod install

设置如下

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

委托方法如下

- (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);
}

自定义

您可以根据以下内容自定义菜单栏:

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;

此外,您还可以通过实现以下委托方法来自定义菜单栏项的按钮:

- (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;
    [button setTitleColor:[UIColor lightGrayColor]
                 forState:UIControlStateNormal];
    [button setTitleColor:[UIColor grayColor]
                 forState:UIControlStateDisabled];
    [button setTitleColor:[UIColor greenColor]
                 forState:UIControlStateSelected];

    return item;
}

无限分页

启用无限分页模式,如下所示:

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

要求

  • iOS 7.0 或更高版本

变更日志

1.0.6

  • 添加无限分页模式。

1.0.5

  • 添加用于自定义外观的属性。

1.0.4

  • 修复崩溃问题。

1.0.1 ~ 1.0.3

  • 修复了小问题。

1.0.0

  • 首次发布。

贡献

如果您有功能请求或错误报告,请通过发送拉取请求或创建新问题来帮忙。

作者

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

许可协议

RMPScrollingMenuBarController 可在 MIT 许可协议下使用。