前言:开发语言:Swift,项目源代码基于xcode7.0.1,iOS9
AwesomeMenu是一个菜单酷炫展示的第三方库,效果见下图:
因为使用的是Swift语言,AwesomeMenu还是基于OC开发的,所以需要建立桥接文件,过程在这里不说了,可以看我另一篇文章的介绍,点击这里
好了,废话不多说,直接开始了。。。
---------------------------------------------------我是分割线哦------------------------------------------------------
1.首先导入需要的类库资源,打开目录,直接拖入工程中。资源在附件里有。
2.代码:
import UIKit class ViewController: UIViewController, AwesomeMenuDelegate { override func viewDidLoad() { super.viewDidLoad() // 声明三张图片 let menuItemImage = UIImage(named: "bg-menuitem.png") let menuItemLigntImage = UIImage(named: "bg-menuitem-highlighted.png") let starImage = UIImage(named: "icon-star.png") // 声明五个MenuItem,为了简便起见这里用到的图片资源是一样的,实际中可以替换相应的图片 let item1 = AwesomeMenuItem(image: menuItemImage, highlightedImage: menuItemLigntImage, contentImage: starImage, highlightedContentImage: nil) let item2 = AwesomeMenuItem(image: menuItemImage, highlightedImage: menuItemLigntImage, contentImage: starImage, highlightedContentImage: nil) let item3 = AwesomeMenuItem(image: menuItemImage, highlightedImage: menuItemLigntImage, contentImage: starImage, highlightedContentImage: nil) let item4 = AwesomeMenuItem(image: menuItemImage, highlightedImage: menuItemLigntImage, contentImage: starImage, highlightedContentImage: nil) let item5 = AwesomeMenuItem(image: menuItemImage, highlightedImage: menuItemLigntImage, contentImage: starImage, highlightedContentImage: nil) // 中间那个点击的按钮 let bossMenuItem = AwesomeMenuItem(image: UIImage(named: "bg-addbutton.png"), highlightedImage: UIImage(named: "bg-addbutton-highlighted"), contentImage: UIImage(named: "icon-plus"), highlightedContentImage: UIImage(named: "icon-plus-highlighted")) let menu = AwesomeMenu(frame: self.view.frame, startItem: bossMenuItem, menuItems: [item1, item2, item3, item4, item5]) menu.delegate = self self.view.addSubview(menu) // 效果开始角度,是按照圆周率的比例还算的,规律自己琢磨吧 menu.rotateAngle = (CGFloat)(M_PI)*3/2 // 按钮展开的角度范围 menu.menuWholeAngle = (CGFloat)(M_PI) // 按钮弹出间隔时间 menu.timeOffset = 0.1 // 弹出最远距离 menu.farRadius = 200 // 弹出最近距离 menu.nearRadius = 100 // 最后固定距离 menu.endRadius = 150 } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } // 实现AwesomeMenuDelegate的方法 func awesomeMenu(menu: AwesomeMenu!, didSelectIndex idx: Int) { // 这里就是点击按钮所触发的事件 print("\(idx)") } }
相关推荐
IOS应用源码之AwesomeMenu.zip
由于cocoachina对附件5M的限制,工程并未完全包含在其内.更详细的源码解析,以及最新的源码请见:https://github.com/mythkiven/DiffuseMenu_Swift
AwesomeMenu 环形菜单
AwesomeMenu ,AwesomeMenu 实现了类似 Path 2.0 的菜单效果,点开呈天女散花的效果。
原谅小弟之前不知道facebook鼎鼎大名的path与AwesomeMenu,自己设计走了不少弯路,由朋友反馈,并参照AwesomeMenu重写事件响应链方法,修复了按钮无法响应事件的bug。并且用groupAnimation优化了部分动画效果,最新...
一,使用方法: 1 \使用pod方式嵌入项目:pod'SDiffuseMenu','〜> 1.2.1' 2 \直接下载zip包内含: 1)SDiffuseMenuDebugDemo.xcodeproj:即调试演示 2)SDiffuseMenu文件夹:内含源文件 3)SDiffuseMenuDemo....
本项目中使用的模块/库/功能/图标: 字体超赞的cdjns jQuery v3.3.1 | (c)JS基金会和其他贡献者| jquery.org/license HTML-5 自定义CSS 自定义JavaScript 和一些图标。我不知道有人是否有足够的时间声明...
QuadCurveMenu, 路径 2.0菜单( 可以配置,可以扩展和可以组合) QuadCurveMenu是一个菜单,与的菜单menu菜单... 这是一个 fork的 AwesomeMenu的。 我提出了请求请求,而这不是原始作者想要创建的内容。 这个 fork 有一些
QuadCurveMenu ,该项目已改名为 AwesomeMenu 还对移动社交网络Path 2记忆犹新么?想必也对屏幕左...
作者mythkiven,代码DiffuseMenu_Swift。 DiffuseMenu_Swift是Swift版AwesomeMenu, 点击菜单弹射选项的动画效果。