文档章节

原来这个是 UIMenuController

asjoker
 asjoker
发布于 2016/08/10 15:37
字数 180
阅读 7
收藏 0

原来这个组件是UIMenuController 输入图片说明


    /**
     长按事件 
     */
    func longPressGestureAction(sender:UILongPressGestureRecognizer){
        if sender.state != UIGestureRecognizerState.Began {
            return
        }
        print("longPressGestureAction+++++++++++++++++ \(sender.state.rawValue)")
        
        // 1. first responder
        v.becomeFirstResponder()
        
        // 2. 获取菜单
        let menu = UIMenuController.sharedMenuController()
        if menu.menuVisible == false{
            // 3. 设置自定义菜单
            let item = UIMenuItem(title: "啦啦啦", action: #selector(self.lalaAction(_:)))
            menu.menuItems = [ item ]
            
            // 4. 菜单显示位置
            menu.setTargetRect(v.bounds, inView: v)
            
            // 5. 显示菜单
            menu.setMenuVisible(true, animated: true)
        }
    }
    func lalaAction(sender:AnyObject?){
        
    }
    /// 具备成为第一响应者的资格
    override func canBecomeFirstResponder() -> Bool {
        return true
    }
    /**
     *  这个方法决定了MenuController的菜单项内容
     *  返回YES,就代表MenuController会有action菜单项
     */
    override func canPerformAction(action: Selector, withSender sender: AnyObject?) -> Bool {
        print("canPerformAction +++++ \(action)")
        // 判断 action 中包含的各个事件的方法名称, 对比上了才能显示
        if (action == #selector(NSObject.copy(_:)) || action == #selector(self.lalaAction(_:)))
        {
            return true
        }
        return false
    }

© 著作权归作者所有

共有 人打赏支持
asjoker
粉丝 10
博文 108
码字总数 79411
作品 0
东城
程序员
iOS系统菜单控制器UIMenuController使用简介

iOS系统菜单控制器UIMenuController使用简介 一、引言 在许多iOS应用中,当用户进行某文字或图片区域的长按操作时,都会弹出一个系统菜单控件,用户可以通过操作菜单控件上的按钮进行数据的复...

珲少
2016/04/06
475
0
UIMenuController 显示不出来的原因

刚刚在IM要显示UIMenuController菜单,但是总是显示不出来,其实之前有过这么一个坑了,现在又跳进去了,真是。。。 UIMenuController 显示不出来的最大的原因 是第一响应者 没设置好,要在对...

yi_zz32
2017/10/12
0
0
ios刘袭锐/LXR_BaiSi

#LXR_BaiSi BSBDJ 百思不得姐相关知识点 ####解决图片渲染问题 方法1.解决图片渲染问题 UIImage* image = [UIImage imageNamed:@"tabBar_essence_click_icon"];//设置image模式是原始效果,不...

ios刘袭锐
2016/10/30
0
0
iOS中UIMenuController基本使用

我这里用了一个按钮,点击按钮的时候给弹出UIMenuController控件(详细参考) 下面的代码是按钮触发事件: -(void)showPopupView:(UIButton *)button { button.selected = !button.selected...

别情花如依丶
2016/12/29
9
0
UIMenuController的使用,对UILabel拷贝以及定制菜单

UIMenuController的使用,对UILabel拷贝以及定制菜单 1. Menu所处的View必须实现 – (BOOL)canBecomeFirstResponder, 且返回YES 2. Menu所处的View必须实现 – (BOOL)canPerformAction:withS...

青云_K
2013/01/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

java序列化(四) - 实现Externalnalizable接口

实现Externalnalizable接口 实现Externalnalizable接口 package meng.springboot.demo.obj;import java.io.Externalizable;import java.io.IOException;import java.io.ObjectInput......

晨猫
6分钟前
0
0
php 日志库获取调用方的代码文件地址和代码行数

在使用其他语言的打印日志的时候,经常能看到打印日志时带上文件地址和代码行数,对于调试和查找问题非常方便,但是 php 日志库里则很少见到这个功能,但这个功能还是可以实现的。 关键点就是...

anoty
12分钟前
3
0
Android Studio如何批量导入全部包import

当需要导包时,Android Studio有单个导包快捷键 Alt+Enter 但是没有全部的包 但是可以在设置里设置Auto Import自动导入功能

lanyu96
13分钟前
0
0
六款优秀的 Linux 基准测试工具

基准测试是指运行计算机程序去评估硬件和软件性能的行为。硬件基本测试包括评估处理器,内存,显卡,硬盘,网络等不同组件的性能。基准测试有两类: 复合和应用。复合基准对一个硬件执行压力...

openthings
15分钟前
0
0
什么是阿里云容器服务?

关于阿里云容器服务的详细内容:阿里云容器服务使用教程 容器服务(Container Service)提供高性能可伸缩的容器应用管理服务,支持用 Docker 容器进行应用生命周期管理,提供多种应用发布方式...

mcy0425
16分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部