超级视图的顶层空间不起作用

时间:2017-07-26 12:01:08

标签: ios swift storyboard constraints uinavigationbar

我想在UIImageView之类的Twitter个人资料下设置NavigationBar。 我在UIImageView的顶部创建了一个约束到superview,但它不起作用,UIImageView显示在NavigationBar下面。 为什么?

故事板:

From storyboard with the constraint

屏幕:

result

代码:

self.navigationController!.navigationBar.setBackgroundImage(UIImage(), for: .default)
self.navigationController!.navigationBar.shadowImage = UIImage()
self.navigationController!.navigationBar.isTranslucent = true

约束:

constraist of imageview

4 个答案:

答案 0 :(得分:1)

与您的代码一起

enter image description here

添加以下代码行:

self.navigationController?.navigationBar.backgroundColor = .clear

答案 1 :(得分:0)

确保将视图控制器扩展到导航栏下方。您可以在故事板中执行此操作,如下所示:

Storyboard

答案 2 :(得分:0)

设置导航栏的背景颜色似乎并未实际将其设置为清除,这不是约束的问题。

我遇到了完全相同的问题,请在viewDidLoad中尝试以下代码。

<强>夫特

self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default)
self.navigationController?.navigationBar.shadowImage = UIImage()
self.navigationController?.navigationBar.isTranslucent = true

<强>的OBJ-C

[self.navigationController.navigationBar setBackgroundImage: [[UIImage alloc] init] forBarMetrics:UIBarMetricsDefault];
[self.navigationController.navigationBar setShadowImage:[[UIImage alloc] init]];
self.navigationController.navigationBar.translucent = true;

答案 3 :(得分:-1)

我认为视图控制器属性Under Top Bars是禁用的。

enter image description here

启用此属性,如上图所示,您的问题将解决。

相关问题