【问题标题】:Get set navigation left Button swift获取设置导航左按钮 swift
【发布时间】:2019-04-12 23:19:08
【问题描述】:

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

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")
}

【问题讨论】:

  • #imageLiteral(resourceName: "back") 返回零?
  • 是返回零值
  • 检查“后退”图片是否存在于资产中
  • 是的,此图像存在于资产中
  • 那么您的问题与#imageLiteral(resourceName: "back") 无关,与UINavigationControllerUIBarButtonItem 无关(至少目前如此)。

标签: ios swift uinavigationcontroller uibarbuttonitem


【解决方案1】:

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

【讨论】:

  • 给我错误:带有setter的变量也必须有getter
  • 只需添加缺少的 getter:return self.navigationItem.leftBarButtonItem?.image
  • 那么问题与问题的cmets中所述的图像资产有关。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-21
相关资源
最近更新 更多