MFExpandableMenu 0.0.1

MFExpandableMenu 0.0.1

测试已测试
Lang语言 Obj-CObjective C
许可 MIT
发布最后发布2014年12月

Mark Fayngersh维护。



MFExpandableMenu 是一个支持动画和样式的 iOS 7 扩展菜单。

  • 根据基本颜色自动调整菜单项亮度
  • 简化委托利用底层的 UICollectionView
  • 可自定义字体和颜色
  • 以任何 UIView 作为菜单项的“详情视图”渲染

安装

注意:目前尚未推送到 CocoaPods 仓库

演示

您可以在 Example/Demo 中找到示例项目。

DemoGif

使用方法

显示包含 4 个项目的菜单

  • MFExpandableMenuDataSource - 用于确定菜单中的项的数量和内容
  • MFExpandableMenuDelegate - 提供在菜单项被选中时的回调
#import <MFExpandableMenu/MFExpandableMenuViewController.h>

@interface ViewController : UIViewController <MFExpandableMenuDataSource, MFExpandableMenuDelegate>

在实现中

MFExpandableMenuViewController *menuViewController = [[MFExpandableMenuViewController alloc] init];

// Custom background fade color
menuViewController.customBackgroundFadeColor = [UIColor purpleColor];

// Assign dataSource and delegate properties
menuViewController.dataSource = self;
menuViewController.delegate = self;

// Show the menu
[self presentViewController:menuViewController animated:YES completion:nil];

必需的 dataSource 方法

- (NSInteger)numberOfItemsInMenuViewController:(MFExpandableMenuViewController *)menuViewController {
  return 4;
}

- (NSString *)menuViewController:(MFExpandableMenuViewController *)menuViewController
         titleForMenuItemAtIndex:(NSInteger)index1 {
  return [NSString stringWithFormat:@"Menu Item %d", index1 + 1];
}

- (UIView *)menuViewController:(MFExpandableMenuViewController *)menuViewController
  detailViewForMenuItemAtIndex:(NSInteger)index1 {
  return someUIView;
}

可选的 delegate 方法

- (void)          menuViewController:(MFExpandableMenuViewController *)menuViewController
willShowDetailViewForMenuItemAtIndex:(NSInteger)index {
  NSLog(@"Showing detail view for menu item at index: %i", index);
}

- (void)          menuViewController:(MFExpandableMenuViewController *)menuViewController
willHideDetailViewForMenuItemAtIndex:(NSInteger)index {
  NSLog(@"Hiding detail view for menu item at index: %i", index);
}

自定义

以下 MFExpandableMenuViewController 属性可以自定义

  • UIFont *customMenuItemFont - 用于菜单项标签的字体
  • UIColor *customMenuItemTextColor - 用于菜单项标签的颜色
  • UIColor *customBackgroundFadeColor - 初始菜单项背景颜色的颜色,它将自动变亮以便在后续项中使用

测试

要运行单元测试套件

$ cd Example
$ make install
$ make ci

作者

Mark Fayngersh, [email protected]

许可

MFExpandableMenu 在 MIT 许可下可用。有关更多信息,请参阅 LICENSE 文件。