Swift-右上角弹出菜单

作者: 无穷369 | 来源:发表于2016-07-24 16:46 被阅读1834次
    Swift-右上角弹出菜单.gif

    这是一个点击按钮后弹出的列表菜单,和QQ的类似。

    其实很简单,几行代码就可以实现。

    依然是引用我Demo中的文件,将我Demo中的Menu文件拖入你的工程中,在你的桥文件中import

    #import "NirKxMenu.h"
    

    然后就可以在你想要调用的地方调用了。

    //
    //  ViewController.swift
    //  Swift-右上角弹出菜单
    //
    //  Created by ibokan on 16/7/24.
    //  Copyright © 2016年 张宇. All rights reserved.
    //
    
    import UIKit
    
    class ViewController: UIViewController {
    
        /*右上角按钮点击事件*/
        @IBAction func button(sender: AnyObject) {
            
            let menuArray = [KxMenuItem.init("扫一扫",image: UIImage(named: "扫一扫"),target: self,action: "clickMenu"),KxMenuItem.init("加好友",image: UIImage(named: "加好友"),target: self,action: "clickMenu")]
            
            /*设置菜单字体*/
            KxMenu.setTitleFont(UIFont(name: "HelveticaNeue", size: 15))
            
            let options = OptionalConfiguration(arrowSize: 9,  //指示箭头大小
                marginXSpacing: 7,  //MenuItem左右边距
                marginYSpacing: 9,  //MenuItem上下边距
                intervalSpacing: 25,  //MenuItemImage与MenuItemTitle的间距
                menuCornerRadius: 6.5,  //菜单圆角半径
                maskToBackground: true,  //是否添加覆盖在原View上的半透明遮罩
                shadowOfMenu: false,  //是否添加菜单阴影
                hasSeperatorLine: true,  //是否设置分割线
                seperatorLineHasInsets: false,  //是否在分割线两侧留下Insets
                textColor: Color(R: 0, G: 0, B: 0),  //menuItem字体颜色
                menuBackgroundColor: Color(R: 1, G: 1, B: 1)  //菜单的底色
            )
            
            /*菜单位置*/
            let a = CGRect(x: self.view.frame.width-27, y: 70, width: 0, height: 0)
            KxMenu.showMenuInView(self.view, fromRect: a, menuItems: menuArray, withOptions: options)
        }
        
        /*菜单按钮点击事件*/
        func clickMenu(sender: AnyObject){
            print(sender)
        }
        
        
        override func viewDidLoad() {
            super.viewDidLoad()
            
            
        }
    
        override func didReceiveMemoryWarning() {
            super.didReceiveMemoryWarning()
            // Dispose of any resources that can be recreated.
        }
    
    }
    

    好了,就是这么简单,喜欢的话点击上方的关注按钮,我会给大家分享更多精彩内容。

    Demo地址https://pan.baidu.com/s/1geEi2BL

    相关文章

      网友评论

      • 53ef96eb01b1:点击+ 按钮应该要消失,这里却又刷了一遍,没有隐藏。
        53ef96eb01b1:@lochin 真机没问题,模拟器的问题。
      • 344509eb31e5:我找到一个原因,func clickMenu(sender: AnyObject),如果把里面的参数去掉就正常了。
      • 344509eb31e5:点击后无法调用响应事件的方法,这个是什么问题?
        344509eb31e5:@IT青年 首先谢谢题主的回复,我的意思是运行结果和题主给出来的Demo是一样的没问题,但是在点击弹出的菜单后clickMenu方法并没有被调用,方法名字和action的参数名师一样的,但是确实没执行clickMenu方法。不知道什么原因?
        无穷369:@344509eb31e5 clickMenu方法可以拿到选中菜单的索引值,然后根据索引值判断,并实现响应方法。

      本文标题:Swift-右上角弹出菜单

      本文链接:https://www.haomeiwen.com/subject/xuxgjttx.html