Showing posts with label Navigation Bar. Show all posts
Showing posts with label Navigation Bar. Show all posts

Sunday, 9 November 2014

Swift + Add Custom Right Bar Button Item on Navigation Bar or Add Multiple bar button on Navigation Bar in Swift

In viewDidLoad

//---   Add Custom Right Bar Button Item   ---//

            self.addRightNavItemOnView()




    func addRightNavItemOnView()
    {
        
        let buttonEdit: UIButton = UIButton.buttonWithType(UIButtonType.Custom) as UIButton
        buttonEdit.frame = CGRectMake(0, 0, 40, 40)
        buttonEdit.setImage(UIImage(named:"edit.png"), forState: UIControlState.Normal)
        buttonEdit.addTarget(self, action: "rightNavItemEditClick:", forControlEvents: UIControlEvents.TouchUpInside)
        var rightBarButtonItemEdit: UIBarButtonItem = UIBarButtonItem(customView: buttonEdit)
        
        
        
        let buttonDelete: UIButton = UIButton.buttonWithType(UIButtonType.Custom) as UIButton
        buttonDelete.frame = CGRectMake(0, 0, 40, 40)
        buttonDelete.setImage(UIImage(named:"delete.png"), forState: UIControlState.Normal)
        buttonDelete.addTarget(self, action: "rightNavItemDeleteClick:", forControlEvents: UIControlEvents.TouchUpInside)
        
        
        var rightBarButtonItemDelete: UIBarButtonItem = UIBarButtonItem(customView: buttonDelete)
        
        
        
// add multiple right bar button items       self.navigationItem.setRightBarButtonItems([rightBarButtonItemDelete, rightBarButtonItemEdit], animated: true)
        
    // uncomment to add single right bar button item
   // self.navigationItem.setRightBarButtonItem(rightBarButtonItem, animated: false)
        
    }
    
    
    func rightNavItemEditClick(sender:UIButton!)
    {
        println("rightNavItemEditClick")
    }
    
    func rightNavItemDeleteClick(sender:UIButton!)
    {
        println("rightNavItemDeleteClick")
    }


Swift + Add Custom Left Bar Button Item on Navigation Bar

 In View Did Load

//---   Add Custom Left Bar Button Item   ---//

        self.addLeftNavItemOnView()



    func addLeftNavItemOnView ()
    {

       // hide default navigation bar button item
        self.navigationItem.leftBarButtonItem = nil;
        self.navigationItem.hidesBackButton = true;
        
        
        let buttonBack: UIButton = UIButton.buttonWithType(UIButtonType.Custom) as UIButton
        buttonBack.frame = CGRectMake(0, 0, 40, 40)
        buttonBack.setImage(UIImage(named:"ImageName.png"), forState: UIControlState.Normal)
        buttonBack.addTarget(self, action: "leftNavButtonClick:", forControlEvents: UIControlEvents.TouchUpInside)
        
        var leftBarButtonItem: UIBarButtonItem = UIBarButtonItem(customView: buttonBack)
        
        self.navigationItem.setLeftBarButtonItem(leftBarButtonItem, animated: false)
        
        
    }
    
    func leftNavButtonClick(sender:UIButton!)
    {
        self.navigationController?.popViewControllerAnimated(true)
    }