HKRadialMenu 1.1.0

HKRadialMenu 1.1.0

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

Panos Baroudjian维护。




  • Panos Baroudjian

Screenshot Screenshot2

(点击图片查看实际效果)

HKRadialMenu包含:1.一个动画菜单,其中包含一个交互式中心视图,它可以展开其他外围交互视图。2.一个按钮,当按下时会展开其他子按钮(类似于Prismatic应用)。

如何使用它

  1. 通过在Podfile中添加pod 'HKRadialMenu'来使用CocoaPods。
  2. 手动
    • 克隆此存储库
    • 将HKRadialMenuView, HKRadialMenuViewController, HKRadialMenuItemView, HKRadialMenuButton, HKRadialGestureRecognizer和UIView+Resizing文件(.h和.m)复制到您的项目中。
    • 实现一个"HKRadialMenuViewController"的子类,并重写您想定制的HKRadialMenuViewDataSource和HKRadialMenuViewDelegate协议方法。
    • HKRadialMenuButton只是UControl

如何配置它

HKRadialMenuView

就像UITableView一样,您需要为HKRadialMenuView提供数据源和委托

数据源

  • - (NSUInteger)numberOfItemsInRadialMenuView:(HKRadialMenuView *)radialMenuView: 返回项数(不包括中心项);
  • - (HKRadialMenuItemView *)centerItemViewForRadialMenuView:(HKRadialMenuView *)radialMenuView: 返回用作中心交互视图的HKRadialMenuItemView(或子类);
  • - (HKRadialMenuItemView *)itemViewInRadialMenuView:(HKRadialMenuView *)radialMenuView atIndex:(NSUInteger)index: 返回在指定索引处显示的外围视图。

委托

  • - (BOOL)rotateItemInRadialMenuView:(HKRadialMenuView *)radialMenuView atIndex:(NSUInteger)index: 如果是YES,则视图将以其原始旋转方式显示(在用于标签时非常有用);
  • - (CGFloat)distanceForItemInRadialMenuView:(HKRadialMenuView *)radialMenuView atIndex:(NSUInteger)index: 返回项目放置的半径;
  • - (void)radialMenuView:(HKRadialMenuView *)radialMenuView didSelectItemAtIndex:(NSUInteger)index: 当用户触摸项(除中心项外)时调用。

HKRadialMenuView(也可通过[HKRadialMenuView appearance]访问)上还有其他可用的自定义选项

  • animationDuration: 展开动画的持续时间(以秒为单位);
  • delayBetweenAnimations: 每次展开之间的延迟(以秒为单位);
  • angleRange: 外围项目覆盖的区域(默认值为0 - 2PI,形成一个完整的圆圈)。

HKRadialMenuButton

HKRadialMenuButton 类似于 UIControl,并且也如此工作。要了解其运行状态,只需使用 UIControl 的 addTarget:action:forControlEvents: 方法与 UIControlEventValueChanged 事件。初始化 HKRadialMenuButton 的最佳方式是使用 initWithFrame:andCenterView:andOtherViews:andAngles:

只读属性

  • backgroundView: 背景视图,用于自定义控件背景。
  • contentView: 包含所有用户提供的子视图的视图。
  • isExpanded: 指示径向视图是否已展开。
  • selectedIndex: 这是最重要的属性,表示引发 UIControlEventValueChanged 事件的子视图索引。也可以是 HKRadialMenuButtonCenterIndex (-1),表示主视图(且总是可见)。

外观属性(也可以通过 [HKRadialMenuButton appearance] 访问)

  • expansionDelay: 外围按钮开始显示之前的延迟时间(以秒为单位)。默认值为 0.5。
  • autoRotate: 如果为 YES,视图将以原始旋转方式显示(当使用标签时非常有用)。默认值为 YES。
  • animationDuration: 展开动画的持续时间。选择(增长和淡化)动画为(动画持续时间 / 2)。默认值为 0.5。
  • magnetismRatio: 当径向视图变为活动(可选择的)视图时,它会向中心视图略微移动(移动距离为 (magnetismRatio * distanceBetweenTheViews))。默认值为 0.95。

HKRadialMenuButton 还可以有一个代理(使用 HKRadialMenuButtonDelegate 协议)

  • radialMenuButton:highlightedView:atIndex::当视图变为活动视图时被调用。
  • radialMenuButton:unhighlightedView:atIndex::当视图失去活动状态时被调用。