`
PrisonBreak
  • 浏览: 94022 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

iOS开发不能错过的第三方库之一:AwesomeMenu

阅读更多

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

 

 

  • 大小: 73.6 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics