• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

UIMenuController简单示例(Swift)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

刚开始接触Swift,感觉是简单一些,但是有一些不习惯,没看基础知识,直接看demo!

可以和http://www.cnblogs.com/hissia/p/5668513.html里面的进行对比,挺容易掌握

直接上代码:

 1 import UIKit
 2 
 3 class ZWLabel: UILabel {
 4     
 5     //MARK: 在storyboard中直接拖一个UILabel,然后设置类为ZWLabel
 6     override func awakeFromNib()
 7     {
 8         // 用户交互
 9         self.userInteractionEnabled = true
10         
11         // 绑定手势
12         self.addGestureRecognizer(UITapGestureRecognizer.init(target: self, action: #selector(ZWLabel.labelClick)))
13     }
14     func labelClick()
15     {
16         // lable成为第一响应者
17         self.becomeFirstResponder()
18         
19         // 获取菜单
20         let menu = UIMenuController.sharedMenuController()
21         
22         if menu.menuVisible {
23             menu.setMenuVisible(false, animated: true)
24         } else {
25             // 设置自定义菜单
26             menu.menuItems = [ UIMenuItem.init(title: "复制", action: #selector(ZWLabel.test(_:))) ]
27             
28             // 菜单显示位置
29             menu.setTargetRect(self.bounds, inView: self)
30             
31             // 显示菜单
32             menu.setMenuVisible(true, animated: true)
33         }
34     }
35     
36     //MARK: 试试
37     func test(menu :UIMenuController )
38     {
39         print("试试")
40     }
41     
42     //MARK: 让Lable具备成为第一响应者的资格
43     override func canBecomeFirstResponder() -> Bool
44     {
45         return true
46     }
47     
48     //MARK: 返回悬浮菜单中可以显示的选项
49     override func canPerformAction(action: Selector, withSender sender: AnyObject?) -> Bool
50     {
51         // 判断 action 中包含的各个事件的方法名称, 对比上了才能显示
52         if (action == #selector(NSObject.copy(_:)) || action == #selector(ZWLabel.test(_:)))
53         {
54             return true
55         }
56         return false
57     }
58     
59     override func copy(sender: AnyObject?) {
60         print("试试复制")
61     }
62     
63 }

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
[Swift]LeetCode521.最长特殊序列Ⅰ|LongestUncommonSubsequenceI发布时间:2022-07-13
下一篇:
在 Swift 中调用 OC 代码发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap