【问题标题】:After changing navigationbar background color , y position of self.view is changed更改导航栏背景颜色后,self.view 的 y 位置发生更改
【发布时间】:2018-11-13 13:54:12
【问题描述】:

在 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)
}

请指教。

提前致谢。

【问题讨论】:

    标签: ios swift uinavigationcontroller uinavigationbar


    【解决方案1】:

    当您更改backgroundColor 属性时,您调用layoutSubviews 并最终导致一切重新布局。如果您以编程方式设置视图框架,您应该在视图的layoutSubviewsviewControllerviewWillLayoutSubviews 中执行此操作

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-30
      • 2015-03-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多