前言:开发语言: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)") } }