Swift 3.0 Adding a Right Button to Navigation Bar

前端 未结 6 950
夕颜
夕颜 2020-12-29 04:00

I have added a navigation bar to the top of a view controller. I am trying to control whether a button is visible based a condition, but I am having trouble adding the butto

6条回答
  •  慢半拍i
    慢半拍i (楼主)
    2020-12-29 04:19

    Swift 4.2;

    Add viewController

    override func viewDidLoad() {
            super.viewDidLoad()
            self.addNavigationBarButton(imageName: "ic_back", direction:.left)
     }
    

    Add Class your API or Utility Class

    public func addNavigationBarButton(imageName:String,direction:direction){
        var image = UIImage(named: imageName)
        image = image?.withRenderingMode(.alwaysOriginal)
        switch direction {
        case .left:
            self.navigationItem.leftBarButtonItem = UIBarButtonItem(image: image, style:.plain, target: nil, action: #selector(goBack))
        case .right:
            self.navigationItem.rightBarButtonItem = UIBarButtonItem(image: image, style:.plain, target: nil, action: #selector(goBack))
        }
    }
    
    @objc public func goBack() {
        self.navigationController?.popViewController(animated: true)
    }
    
    public enum direction {
        case right
        case left
    }
    

提交回复
热议问题