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