向左获取设置的导航按钮迅速

时间:2018-11-09 11:25:58

标签: ios swift uinavigationcontroller uibarbuttonitem

我试图获取或设置用于导航左键的功能,但我真的很困惑,因为我设置了图像,但是它们给了我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(_:)))
    }
}

我在viewdidload中使用以下代码:

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

1 个答案:

答案 0 :(得分:0)

您明确返回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访问即可。