Получить настройку навигации влево Кнопка Swift - PullRequest
0 голосов
/ 09 ноября 2018

Я пытаюсь получить или установить использование функции для левой кнопки навигации, но я действительно запутался, потому что я настроил изображение, но они дают мне нулевое значение вывода, как решить, это мой код для установки или получить кнопку навигации:

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 голосов
/ 09 ноября 2018

Вы явно возвращаете 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.

...