UIMenuController not showing up the menu

后端 未结 3 1733
别那么骄傲
别那么骄傲 2020-12-20 08:16

I am very new to iOS. I am trying to show a pop up menu,but some how I am unable to display menu. Please help. Here is my code:

//DidLoad function to initial         


        
3条回答
  •  感情败类
    2020-12-20 08:44

    I have tested code for displaying menu in UIView Its working. You can do for UItablecell or uitableView
    Do exactly the way I have done it will work
    you don't need to add this delegate, remove it from your code
       override func becomeFirstResponder
    
    
    example
    
    
     override func viewDidLoad()
    {
        super.viewDidLoad()
        var longprss : UILongPressGestureRecognizer = UILongPressGestureRecognizer(target: self, action: Selector("display:"))
        self.view.addGestureRecognizer(longprss)
    }
    
    override func canBecomeFirstResponder() -> Bool {
        return true
    }
    
    
    
    override func canPerformAction(action: Selector, withSender sender: AnyObject?) -> Bool
    {
        println(action);
        if(action == Selector("deleteLine:") || action == Selector("editRow:"))
        {
            return true;
    
        }
        else
        {
            return false;
        }
    }
    
    func deleteLine(sender: AnyObject?) {
    
        println("delete line")
    
    }
    
    func editRow(sender: AnyObject?) {
    
        println("edit row");
    }
    
    
    //action handler of longPressGesture
    
    func display(gesture: UILongPressGestureRecognizer)
    {
    
        gesture.view?.becomeFirstResponder()
    
        println("Is first responder")
        var menu = UIMenuController.sharedMenuController()
        var deleteItem = UIMenuItem(title: "Delete", action: Selector("deleteLine:"))
        var editItems = UIMenuItem(title: "Edit", action: Selector("editRow:"))
        menu.menuItems = [deleteItem ,editItems]
    
        menu.setTargetRect(CGRect(x: 100, y: 600, width: 100, height: 50), inView: self.view)
        menu.setMenuVisible(true, animated: true)
    
    }
    

提交回复
热议问题