我在导航项左栏按钮项上使用了自定义图像资源,但是呈现了错误的图像。在我的Assets.xcassets
文件夹中,此图像已加载:
在用于视图控制器的viewWillAppear
方法中,我执行以下代码:
self.navigationItem.leftBarButtonItem = UIBarButtonItem(image: UIImage(named: "back"), style: .plain, target: self, action: #selector(self.backButtonSelected))
但是当我运行此版本时,我得到的是这个图像:
我到处都看过,在代码中的任何地方都找不到该图像,这甚至都不是Apple的默认背面图像。
仅需注意:情况并非如此,将呈现正确的图像。不能完全确定这个问题是从多久以前开始的,但是肯定已经在Xcode 10.2发行版中出现了
答案 0 :(得分:0)
尝试定义按钮并在UIBarButtonItem
初始化程序中使用它,它应该是:
let btn = UIButton(type: .custom)
btn.setImage(UIImage(named: "back"), for: .normal)
btn.addTarget(self, action: #selector(self.backButtonSelected), for: .touchUpInside)
let item = UIBarButtonItem(customView: btn)
self.navigationItem.leftBarButtonItem = item
但是您的问题可能是您的图像名称。在尝试我的解决方案之前,请尝试将图像名称更改为arrow_back
或您喜欢的任何名称。
答案 1 :(得分:0)
在我的代码中的任何地方都找不到该图片
它不会出现在您的代码中。它在您的资产目录或应用程序捆绑包中(通过Project Navigator查找名为 back.png 的内容)。如果在应用程序捆绑包中,它将覆盖资产目录。
无论如何,它肯定不会出现在任何地方。相信我,您的项目中的某个位置已经有了这张图片。