首页 > 解决方案 > 获取设置导航左按钮 swift

问题描述

我正在尝试获取或设置用于导航左按钮的功能,但我真的很困惑,因为我设置了图像但他们给了我零值输出如何解决这是我设置或获取导航按钮的代码:

var leftNavigationItem: UIImage? {
    get {
        return nil
    }
    set {
        self.navigationItem.hidesBackButton = true
        print(leftNavigationItem)  // output = nil
        self.navigationItem.leftBarButtonItem = UIBarButtonItem(image: newValue, style: .plain, target: self, action: #selector(self.leftNavigationItemAction(_:)))
    }
}

我在 viewdidload 中使用此代码:

override func viewDidLoad() {
    super.viewDidLoad()
    title = "Sign In"
    setUI()
    usernameTF.becomeFirstResponder()
    leftNavigationItem = #imageLiteral(resourceName: "back")
}

标签: iosswiftuinavigationcontrolleruibarbuttonitem

解决方案


您明确返回nil,您期望什么?

改变这个:

var leftNavigationItem: UIImage? {
    get {
        return nil
    }
    set {
        self.navigationItem.hidesBackButton = true
        print(leftNavigationItem)  // output = nil
        self.navigationItem.leftBarButtonItem = UIBarButtonItem(image: newValue, style: .plain, target: self, action: #selector(self.leftNavigationItemAction(_:)))
    }
}

对此:

var leftNavigationItem: UIImage? {
    set {
        self.navigationItem.hidesBackButton = true
        print(leftNavigationItem)  // output = nil
        self.navigationItem.leftBarButtonItem = UIBarButtonItem(image: newValue, style: .plain, target: self, action: #selector(self.leftNavigationItemAction(_:)))
    }
}

你的代码很疯狂。

当您想“获取”您的图像时,只需通过self.leftNavigationItem.


推荐阅读