在viewwillAppear上,我正在更改导航栏背景颜色。我正在尝试设置一个框架(0,53,宽度,高度)的视图。第一次显示它是正确的,它在导航栏的高度之后占据53,但是当我更改主题并转到该控制器时,它从0开始占据53。因此它隐藏在导航栏的后面。
我正在viewwillappear中编写以下代码。
if(oldTheme)
{
self.navigationController?.navigationBar.setBackgroundImage(UIImage(named:"bar.png"), for: .default)
}
else {
self.navigationController?.navigationBar.setBackgroundImage(UIImage(named:"bar2.png"), for: .default)
}
请咨询。
先行感谢
答案 0 :(得分:0)
更改backgroundColor
属性后,您将调用layoutSubviews
,并最终使所有内容重新布局。如果您以编程方式设置了视图框架,则应在视图的layoutSubviews
或viewWillLayoutSubviews
的{{1}}中进行设置