我想在导航栏的设计中添加按钮和图片,但无法成功添加图片。我在viewDidLoad中尝试了以下代码:
let logo = UIImage(named: "logo.png")
let imageView = UIImageView(image:logo)
navigationController?.navigationBar.barTintColor = UIColor.green
self.navigationItem.titleView = imageView我尝试了一下代码,导航栏如下所示:

作为我尝试的代码的结果,边缘上有空间。我想把图片靠屏幕的右边对齐。我想把按钮和屏幕的左边对齐。
我想要的设计图像如下所示:

我应该为此尝试什么代码?
发布于 2021-01-19 16:53:23
你应该试试这个,希望它能起作用。
let backButton: UIBarButtonItem = UIBarButtonItem(title: "Back", style: .plain, target: self, action: #selector(back))
self.navigationItem.leftBarButtonItem = backButton
let logo = UIImage(named: "google_logo.png")
let imageView = UIImageView(image:logo)
imageView.contentMode = .scaleAspectFit
self.navigationItem.titleView = imageView

发布于 2021-01-19 17:57:49
这是你想要的吗?虽然背景图像是拉伸的,因为我只是随机选择了一个图像,它没有正确的导航栏分辨率。
在iOS 14中,它看起来像这样。好吧,我也谷歌了,因为这也是我第一次自定义导航栏的背景图片。我通常使用纯色作为背景。

override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = .white
let img = UIImage(named: "Human")!
navigationController?.navigationBar.setBackgroundImage(img.resizableImage(withCapInsets: UIEdgeInsets(top: 0, left: 0, bottom: 0 ,right: 0), resizingMode: .stretch), for: .default)
let backImg = UIImage(named: "back")?.withRenderingMode(.alwaysOriginal)
let leftButton = UIBarButtonItem(image: backImg, style: .plain, target: self, action: #selector(backTapped))
navigationItem.leftBarButtonItem = leftButton
}https://stackoverflow.com/questions/65778882
复制相似问题