这个是一个第三方按钮菜单组件,原版是使用Objective-C编写的名为AwesomeMenu的组件,地址是:https://github.com/levey/AwesomeMenu

这里改造成了Swift版,效果图如下:
 
  
  
使用代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
import UIKit
 
class ViewController: UIViewController,HanggeSwiftMenuDelegate {
     
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
         
        var storyMenuItemImage =  UIImage(named:"bg-menuitem.png")
        var storyMenuItemImagePressed =  UIImage(named:"bg-menuitem-highlighted.png")
        var starImage =  UIImage(named:"icon-star.png")
         
        // Default Menu
        var starMenuItem1 =  HanggeSwiftMenuItem(image:storyMenuItemImage!,
            highlightedImage:storyMenuItemImagePressed!, contentImage:starImage!,
            highlightedContentImage:nil)
        var starMenuItem2 =  HanggeSwiftMenuItem(image:storyMenuItemImage!,
            highlightedImage:storyMenuItemImagePressed!, contentImage:starImage!,
            highlightedContentImage:nil)
        var starMenuItem3 =  HanggeSwiftMenuItem(image:storyMenuItemImage!,
            highlightedImage:storyMenuItemImagePressed!, contentImage:starImage!,
            highlightedContentImage:nil)
        var starMenuItem4 =  HanggeSwiftMenuItem(image:storyMenuItemImage!,
            highlightedImage:storyMenuItemImagePressed!, contentImage:starImage!,
            highlightedContentImage:nil)
        var starMenuItem5 =  HanggeSwiftMenuItem(image:storyMenuItemImage!,
            highlightedImage:storyMenuItemImagePressed!, contentImage:starImage!,
            highlightedContentImage:nil)
        var starMenuItem6 =  HanggeSwiftMenuItem(image:storyMenuItemImage!,
            highlightedImage:storyMenuItemImagePressed!, contentImage:starImage!,
            highlightedContentImage:nil)
        var starMenuItem7 =  HanggeSwiftMenuItem(image:storyMenuItemImage!,
            highlightedImage:storyMenuItemImagePressed!, contentImage:starImage!,
            highlightedContentImage:nil)
        var starMenuItem8 =  HanggeSwiftMenuItem(image:storyMenuItemImage!,
            highlightedImage:storyMenuItemImagePressed!, contentImage:starImage!,
            highlightedContentImage:nil)
        var starMenuItem9 =  HanggeSwiftMenuItem(image:storyMenuItemImage!,
            highlightedImage:storyMenuItemImagePressed!, contentImage:starImage!,
            highlightedContentImage:nil)
         
        var menus =  [starMenuItem1, starMenuItem2, starMenuItem3, starMenuItem4,
            starMenuItem5, starMenuItem6, starMenuItem7,starMenuItem8,starMenuItem9]
         
        var startItem =  HanggeSwiftMenuItem(image:UIImage(named:"bg-addbutton.png")!,
            highlightedImage:UIImage(named:"bg-addbutton-highlighted.png")!,
            contentImage:UIImage(named:"icon-plus.png")!,
            highlightedContentImage:UIImage(named:"icon-plus-highlighted.png")
        )
         
        var menu =  HanggeSwiftMenu(frame:self.view.bounds, startItem:startItem, aMenusArray:menus)
        menu.delegate = self
        self.view.addSubview(menu)
         
    }
    
    func SwiftSelectMenu(menu:HanggeSwiftMenu, didSelectIndex idx:Int)
    {
         
        println("Select the index : %d",idx)
    }
     
    func HanggeSwiftMenuDidFinishAnimationClose(menu:HanggeSwiftMenu)
    {
         
        println("Menu was closed!")
    }
     
    func HanggeSwiftMenuDidFinishAnimationOpen(menu:HanggeSwiftMenu)
    {
         
        println("Menu is open!")
    }
     
    func HanggeSwiftMenuWillAnimateOpen(menu:HanggeSwiftMenu)
    {
         
    }
     
    func HanggeSwiftMenuWillAnimateClose(menu:HanggeSwiftMenu)
    {
         
    }
     
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
}

源码下载:HanggeMenu.zip

Swift - 炫酷放射弹出按钮菜单(改造自AwesomeMenu)的更多相关文章

  1. iOS开发——动画篇Swift篇&炫酷弹出菜单

    炫酷弹出菜单   这个是一个第三方按钮菜单组件,原版是使用Objective-C编写的名为AwesomeMenu的组件,地址是:https://github.com/levey/AwesomeMenu ...

  2. 炫酷实用的jQuery插件 涵盖菜单、按钮、图片

    新的一周开始了,今天我们要为大家分享一些全新的jQuery插件和HTML5/CSS3应用,这些jQuery插件不仅非常炫酷,而且还挺实用,这次的分享包含jQuery菜单.CSS3按钮已经多种图片特效, ...

  3. legend---四、菜鸟教程css3里面有教你炫酷的按钮怎么做

    legend---四.菜鸟教程css3里面有教你炫酷的按钮怎么做 一.总结 一句话总结:想学,总是有很多资料的 1. 自动居中是 margin:100px 0px;么? 自动居中是margin:100 ...

  4. 初级开发者也能码出专业炫酷的3D地图吗?

    好看的3D地图搭建出来,一定是要能为开发者所用与业务系统开发中才能真正地体现价值.基因于此,CityBuilder建立了与ThingJS的通道——直转ThingJS代码,支持将配置完成的3D地图一键转 ...

  5. 6种炫酷的CSS3按钮边框动画特效

    6种炫酷的CSS3按钮边框动画特效Button border animate 用鼠标滑过下面的按钮看看效果! Draw Draw Meet Center Spin Spin Circle Spin T ...

  6. CSS3和js炫酷点击按钮3D翻转动画特效

    简要教程 flipside是一款使用CSS3和js制作的炫酷点击按钮无缝过渡到确认面板的过渡动画特效.该点击按钮特效在按钮不同方向的边部点击时,产生的过渡动画特效是不一样的. 在线预览   源码下载 ...

  7. 炫酷实用的CSS3代码垂直手风琴菜单

    今天在微博上看到别人分享的代码,自己拿来自己保存着. 代码效果如下: 下面是源码: index.html <!DOCTYPE html> <html > <head> ...

  8. uwp - 做一个相对炫酷的动画按钮/按钮动画

    原文:uwp - 做一个相对炫酷的动画按钮/按钮动画 看腻了系统自带的button animation何不尝试下自定义一个较为炫酷的动画顺便提升用户体验.效果图: 动画分为几个部分,分别是:内圆从中心 ...

  9. css3 炫酷下拉菜单

    <!doctype html> <html> <head> <meta charset="UTF-8"> <title> ...

随机推荐

  1. House Robber 分类: leetcode 算法 2015-07-09 20:53 2人阅读 评论(0) 收藏

    DP 对于第i个状态(房子),有两种选择:偷(rob).不偷(not rob) 递推公式为: f(i)=max⎧⎩⎨⎪⎪{f(i−1)+vali,f(i−2)+vali,robi−1==0robi−1 ...

  2. arm: 使用结构体操作寄存器

    使用结构体操作寄存器: //寄存器赋值和取值的时候,要注意寄存器的长度,有的寄存器的值只有8位. //还要注意,使用volatile修饰寄存器变量.volatile 参考http://www.cnbl ...

  3. 基于visual Studio2013解决C语言竞赛题之0808打印链表

     题目

  4. 物理Data Guard主备切换步骤

    物理Data Guard角色转换步骤   Step  1   验证主库是否能执行角色转换到备库(原主库执行) SQL> SELECT SWITCHOVER_STATUS FROM V$DATAB ...

  5. 从汇编角度来理解linux下多层函数调用堆栈执行状态

    注:在linux下开发经常使用的辅助小工具: readelf .hexdump.od.objdump.nm.telnet.nc 等,详细能够man一下. 我们用以下的C代码来研究函数调用的过程.  C ...

  6. 使用linq对字符串1,2,3,4,5,6,7,8,9,10求和

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace SumI ...

  7. js中使用jstl中得到的值

    jstl的标签会转化为服务器端的代码执行,而js代码则在客户端执行.        要在js中使用jstl并不是直接将jstl的value赋值给一个js的变量,而是要在jstl的value上加上&qu ...

  8. hdu4431 Mahjong

    Mahjong Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  9. Android 系统api实现定位及使用百度提供的api来实现定位

    目前在国内使用定位的方法主要是 1. Android系统提供的 LocationManager locationManager = (LocationManager) getSystemService ...

  10. ubuntu 14.04 使用极点五笔输入法

    相比12.04在外观改变不是非常大,但当中细节有些许变化,特别输入法非常不大好用,为此,我们使用fcitx输入法,使用我喜欢的五笔拼音,安装步骤例如以下: 方法一: 最新的方法非常easy: 安装14 ...