这个是一个第三方按钮菜单组件,原版是使用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. 以xml的方式实现动画

    1.java代码 package com.example.tweenanim; import android.os.Bundle; import android.app.Activity; impor ...

  2. 搭建OA平台

    公司没有OA平台的原因是: 1.暂时没有上的必要. 2.总厂有一个web版的用友的OA. 但最近法方总经理提到了共享日历日程的需求. 这个需求的主要要整合的是把outlook的日历功能共享.原来微软是 ...

  3. IntelliJ IDEA 开发swing(二)

    原文:idea开发swing(二) 闲话少说,书接idea开发swing(一). 程序编译完成后,需要打包发布,如果有fat_jar的同学可以通过该插件打包,这里是使用ant来打包,步骤如下: 一.编 ...

  4. C/C++ qsort()快速排序用法

    void qsort (void* base, size_t num, size_t size, int (*compar)(const void*,const void*));头文件stdlib.h ...

  5. 使用数组实现队列----《数据结构与算法分析---C语言描述》

    一.h文件:my_que.h #ifndef _MY_QUE_H_ #define _MY_QUE_H_ struct QueRecord; typedef struct QueRecord* que ...

  6. css概述

    前言 1.CSS    cascading   stylesheet  级联样式表 ,外观显示(页面内容显示的方式).CSS文档以.css作为后缀    2.w3c推荐页面文件定义      数据和结 ...

  7. android5.0(Lollipop) BLE Peripheral深入理解系统篇之提高篇

    上一篇文章讲到了广播之前系统需要进行的准备工作,那接下来我们就来真正的启动广播. 首先还是先看一下上一篇文章结束的地方: @Override public void onClientRegistere ...

  8. 开发板和centos服务器tftp传文件

    CentOS下使用TFTP向目标板传送文件http://www.linuxidc.com/Linux/2010-10/29218.htm 1.安装相关软件包 为了使主机支持TFTP,必须确保TFTP后 ...

  9. ASP.NET利用byte检测上传图片安全

    ) { //这里只测试上传第一张图片file[0] HttpPostedFile file0 = Request.Files[]; //转换成byte,读取图片MIME类型 Stream stream ...

  10. Writing a ServiceMain Function(使用RegisterServiceCtrlHandler函数)

    The following global definitions are used in this sample. C++   #define SVCNAME TEXT("SvcName&q ...