如何在导航栏中使用 prefersLargeTitles 创建左对齐标题?

How to create a left aligned title with prefersLargeTitles in navigationBar?

我在我的导航栏上使用 prefersLargeTitles,当它折叠时,我想将标题对齐到导航栏的左侧,

我所做的是创建一个带有自定义标签视图的 leftBarButtonItem,并将标题颜色设置为 .clear,问题是,即使大标题不可见,该标签也是可见的' t还没崩溃

这是我添加导航项作为标题的代码

let label = UILabel()
label.textColor = UIColor.black
label.text = "my left title"
self.navigationItem.leftBarButtonItem = UIBarButtonItem.init(customView: label)

或者这个 post 的另一个问题是,如果大标题还没有折叠,我如何隐藏 leftBarButtonItem

这里有一个link可以帮助你找到你想要的出路:Change title according to navigation bar

要添加的一些基本内容是您可以根据需要将导航栏标题设置为空字符串或其他内容,并在该栏折叠时使您的自定义视图可见,否则使其不可见。您可以查看 link 如何观察导航栏是否折叠。

更重要的是,如果您要切换到另一个屏幕,则应移除观察者,否则会导致内存泄漏。