gpt4 book ai didi

ios - UINavigationBar - prefersLargeTitles - 如何在标题左侧设置图像?

转载 作者:行者123 更新时间:2023-11-28 07:35:39 24 4
gpt4 key购买 nike

下面的文章展示了如何在导航标题的右侧添加图像。 https://blog.uptech.team/how-to-build-resizing-image-in-navigation-bar-with-large-title-8ba2e8bcb840

我想将图像添加到导航栏标题的左侧。为了实现它,我为 imageView 设置了 leftAnchor 而不是右 anchor ,如下所示。

imageView.leftAnchor.constraint(equalTo: navigationBar.leftAnchor, constant: Const.ImageRightMargin)

图像显示在导航栏标题上方,这不是我所追求的。我希望图像与标题位于同一行(标题左侧)。

注意:

  1. 我在 SO 上看到了关于向标题添加图像的其他问题查看,但此问题特别要求提供有关的信息在标题左侧添加图像。因此,这个问题不是重复的。
  2. 我知道我可以像下面这样设置自定义标题 View ,但我没有想失去导航栏的 prefersLargeTitles 设置。

    self.navigationItem.titleView = customTitleView

非常感谢任何帮助。

最佳答案

import UIKit

class ViewController: UIViewController {

override func viewDidLoad() {
super.viewDidLoad()

let img = UIImage.init(named: "imgName")

let imgView = UIImageView(frame: CGRect(x: 0, y: 0, width: 30, height: 30))

imgView.image = img!

imgView.contentMode = .scaleAspectFit

let item = UIBarButtonItem.init(customView: imgView)

let negativeSpacer = UIBarButtonItem.init(barButtonSystemItem: .fixedSpace, target: nil, action: nil)

navigationItem.leftBarButtonItems = [negativeSpacer, item]

}
}

结果

enter image description here

如果你想在点击图片时执行一个请求,替换这一行

let negativeSpacer = UIBarButtonItem.init(barButtonSystemItem: .fixedSpace, target: nil, action: nil)

那条线

let negativeSpacer = UIBarButtonItem.init(barButtonSystemItem: .fixedSpace, target: self, action: #selector(go))

然后放这个

@objc func go() {

print("go")
}

关于ios - UINavigationBar - prefersLargeTitles - 如何在标题左侧设置图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53227035/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com