炫酷弹出菜单

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

这里改造成了Swift版,效果图如下:
 
  
  
 
使用代码:
 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.
     }
 }

还有一个框架也是笔者非常喜欢的,在github上也是备受青睐:https://github.com/nicklockwood/iCarousel

不过目前swift版的还没有发布,如果你真想你的App更加生动,但是自己又不太想写,那么这个非常适合你

iOS开发——动画篇Swift篇&炫酷弹出菜单的更多相关文章

  1. iOS开发——动画编程Swift篇&(三)CATransition动画

    CATransition动画 // MARK: - CATransition动画 // /* 动画样式 */ // let kCATransitionFade: NSString! //翻页 // l ...

  2. iOS开发——动画编程Swift篇&(五)CAKeyframeAnimation

    CAKeyframeAnimation //CAKeyframeAnimation-关键针动画 @IBAction func cakFly() { let animation = CAKeyframe ...

  3. iOS开发——动画编程Swift篇&(四)CABasicAnimation动画

    CABasicAnimation动画 //CABasicAnimation-不透明度 @IBAction func cabOpacity() { let animation = CABasicAnim ...

  4. iOS开发——动画编程Swift篇&(二)UIView转场动画

    UIView转场动画 // MARK: - UIView动画-过度动画 var redView:UIView? var blueView:UIView? // enum UIViewAnimation ...

  5. iOS开发——动画编程Swift篇&(一)UIView基本动画

    UIView基本动画 // MARK: - UIView动画 ------------------------------------- // MARK: - UIView动画-淡入 @IBActio ...

  6. iOS开发实用技巧—在手机浏览器头部弹出app应用下载提示

    iOS开发实用技巧—在手机浏览器头部弹出app应用下载提示 本文介绍其简单使用: 第一步:在本地建立一个访问的服务端.  打开本地终端,在本地新建一个文件夹,在该文件夹中存放测试的html页面.   ...

  7. iOS开发——技术精华Swift篇&Swift 2.0和Objective-C2.0混编之第三方框架的使用

    swift 语言是苹果公司在2014年的WWDC大会上发布的全新的编程语言.Swift语言继承了C语言以及Objective-C的特性,且克服了C语言的兼容性问题.Swift语言采用安全编程模式,且引 ...

  8. iOS开发——新特性Swift篇&Swift 2.0 异常处理

    Swift 2.0 异常处理 WWDC 2015 宣布了新的 Swift 2.0. 这次重大更新给 Swift 提供了新的异常处理方法.这篇文章会主要围绕这个方面进行讨论. 如何建造异常类型? 在 i ...

  9. ios开发——实用技术篇Swift篇&地址薄、短信、邮件

    //返回按钮事件 @IBAction func backButtonClick() { self.navigationController?.popViewControllerAnimated(tru ...

随机推荐

  1. Oracle :一次数据库连接,返回多个结果集

    1. 一次数据库连接,返回多个结果集 1.1 建立包规范 create or replace package QX_GDJTJ is -- Author : xxx -- Created : 2012 ...

  2. Flash Player”又来了“!

    2012年,Adobe宣布缩小对Linux平台的支持,自Flash Player 11.2版本之后,只为Linux平台上的Flash Player提供安全更新和bug修复,而不再提供版本更新. 四年之 ...

  3. 仿it快播顶部button点击背景滑动切换的效果

    最近在it快播中看见它顶部的几个button可以点击后 背景会滑动到相应的button后面 就得很好看 就想办法实现了那效果 思路 大概就是通过view的叠加 把3个button通过RelativeL ...

  4. 色谱峰的类型BB,BV,VB等都是什么意思

    B(Baseline):峰在基线处开始或结束V(Valley):峰在谷点线处开始或结束P(Peak): 峰开始或结束与基线贯穿点BB就代表标准的峰:从基线开始出峰,最后峰到基线结束(from base ...

  5. bjfu1208 中位数

    题目是给你一个数x以及一个长度为n的数列,让你往数列里插入y个数,使数列的中位数正好是x,求y的最小值.(其实这题的中位数跟数学里的中位数有一点区别,略去不提) 那么就排完序以后分情况讨论一下就好了. ...

  6. 白盒测试之gmock入门篇

    一.gmock是什么 gmock是google公司推出的一款开源的白盒测试工具.gmock是个很强大的东西,测试一个模块的时候,可能涉及到和其他模块交互,可以将模块之间的接口mock起来,模拟交互过程 ...

  7. 仿酷狗音乐播放器开发日志二十五 duilib右键事件的不足的bug修复

    转载请说明原出处,谢谢~~ 虽然仿酷狗的各个菜单早就写好了,但是一直没有附加到程序里.今天把菜单和播放列表控件关联时发现了问题. 和播放列表相关的菜单有三个,分别是每个音乐项目控件相关的菜单.分组的菜 ...

  8. 如何利用WordPress创建自定义注册表单插件

    来源:http://www.ido321.com/1031.html 原文:Creating a Custom WordPress Registration Form Plugin 译文:创建一个定制 ...

  9. nodejs 5.2.0文档自翻译——Path模块

    模块方法概览 Path path.basename(p[, ext]) path.delimiter path.dirname(p) path.extname(p) path.format(pathO ...

  10. HDU ACM 1496 Equations

    Equations Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total S ...