image for nav bar button item swift

前端 未结 5 1094
北荒
北荒 2020-12-14 17:41

I want to display an image in the left hand side of my nav bar in swift.

I have tried adding a nav bar button item and setting an image there.

The problem is

5条回答
  •  半阙折子戏
    2020-12-14 18:08

    Try This

    let button = UIButton(type: UIButtonType.Custom)
    button.setImage(UIImage(named: "yourImageName.png"), forState: UIControlState.Normal)
    button.addTarget(self, action:Selector("callMethod"), forControlEvents: UIControlEvents.TouchDragInside)
    button.frame=CGRectMake(0, 0, 30, 30)
    let barButton = UIBarButtonItem(customView: button)
    self.navigationItem.leftBarButtonItems = [newBackButton,barButton]
    

    For Swift 3

    let button = UIButton.init(type: .custom)
    button.setImage(UIImage.init(named: "yourImageName.png"), for: UIControlState.normal)
    button.addTarget(self, action:#selector(ViewController.callMethod), for:.touchUpInside)
    button.frame = CGRect.init(x: 0, y: 0, width: 30, height: 30) //CGRectMake(0, 0, 30, 30)
    let barButton = UIBarButtonItem.init(customView: button)
                self.navigationItem.leftBarButtonItem = barButton
    

    Swift 4

    let button = UIButton(type: UIButton.ButtonType.custom)
    button.setImage(UIImage(named: "getstarted"), for: .normal)
    button.addTarget(self, action:#selector(callMethod), for: .touchDragInside)
    button.frame = CGRect(x: 0, y: 0, width: 30, height: 30)
    let barButton = UIBarButtonItem(customView: button)
    self.navigationItem.leftBarButtonItems = [barButton]
    

    Here is action

    @objc func callMethod() {   
        //do stuff here
     }
    

提交回复
热议问题