问题描述
在XCode14编译的在iOS16上设置title之后原生导航栏标题Label的Alpha可能为0,此问题出现在非viewDidLoad的声明周期方法中调用
self.title = "标题"
有可能(大概率,但不是一定)导航栏标题不显示,检查层级结构发现是_UINavigationBarTitleControl
下的UILabel
的alpha=0,事实上text是有的。
该问题仅在从原生导航栏的隐藏->显示的页面跳转的时候才会出现。
在viewDidLoad
中调用title
的设置无此问题。
问题主要还是出在layout阶段。
解决办法
在赋值title
之后,手动调用一下layout,如下
self.title = "标题"
self.navigationController?.navigationBar.setNeedsLayout()