CircleMenu 4.1.0

CircleMenu 4.1.0

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布上次发布2019年4月
SPM支持 SPM

Alex KalinkinMikhail StepkinIgor KolpachkovAdaptive Controller 维护。



  • Juri Vasylenko

CIRCLE MENU

使用循环布局和物料设计动画的简洁优雅 UI 菜单


我们专注于移动应用和网站的定制 UI 设计和编码

关注最新更新

为您的项目获取免费模板 →

Twitter CocoaPods CocoaPods CocoaPods Carthage compatible codebeat badge Travis Donate

系统需求

  • iOS 9.0+
  • Xcode 9.0.1

安装

只需将CircleMenuLib文件夹添加到项目中。

或使用CocoaPods与Podfile

pod 'CircleMenu'

Carthage用户可以直接添加到其Cartfile

github "Ramotion/circle-menu"

用法

与Storyboard一起使用
  1. 创建一个新的继承自CircleMenu的UIButton

  2. 添加正常和选中状态下的图片

  3. 使用代理方法配置按钮

func circleMenu(circleMenu: CircleMenu, willDisplay button: UIButton, atIndex: Int)
  1. 使用属性配置CircleMenu
@IBInspectable var buttonsCount: Int = 3
@IBInspectable var duration: Double = 2 // circle animation duration
@IBInspectable var distance: Float = 100 // distance between center button and buttons
编程式
let button = CircleMenu(
  frame: CGRect(x: 200, y: 200, width: 50, height: 50),
  normalIcon:"icon_menu",
  selectedIcon:"icon_close",
  buttonsCount: 4,
  duration: 4,
  distance: 120)
button.delegate = self
button.layer.cornerRadius = button.frame.size.width / 2.0
view.addSubview(button)
代理方法
// configure buttons
optional func circleMenu(circleMenu: CircleMenu, willDisplay button: UIButton, atIndex: Int)

// call before animation
optional func circleMenu(circleMenu: CircleMenu, buttonWillSelected button: UIButton, atIndex: Int)

// call after animation
optional func circleMenu(circleMenu: CircleMenu, buttonDidSelected button: UIButton, atIndex: Int)

// call upon cancel of the menu - fires immediately on button press
optional func menuCollapsed(circleMenu: CircleMenu)

// call upon opening of the menu - fires immediately on button press
optional func menuOpened(circleMenu: CircleMenu)

🗂在其他语言中查看这个库

📄许可证

Circle Menu 以 MIT 许可发布。详细信息请参阅 LICENSE

这个库是我们精选的最佳 UI 开源项目之一。点击此处查看更多我们的最佳 UI 开源项目。

如果您在您的项目中使用这个开源库,请确保认可并链接到 www.ramotion.com

📱下载 iOS Showroom App 体验 Circle Menu

在我们的 iOS 应用中尝试这个 UI 组件以及其他类似组件。如果您感兴趣,请联系我们。