UIMenuController 簡單樣本 (Swift),swift樣本大全

來源:互聯網
上載者:User

UIMenuController 簡單樣本 (Swift),swift樣本大全

剛開始接觸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 = true10         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() -> Bool44     {45         return true46     }47     48     //MARK: 返回懸浮菜單中可以顯示的選項49     override func canPerformAction(action: Selector, withSender sender: AnyObject?) -> Bool50     {51         // 判斷 action 中包含的各個事件的方法名稱, 對比上了才能顯示52         if (action == #selector(NSObject.copy(_:)) || action == #selector(ZWLabel.test(_:)))53         {54             return true55         }56         return false57     }58     59     override func copy(sender: AnyObject?) {60         print("試試複製")61     }62     63 }

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.