2017-08-03 81 views
0

我试图把uiview放在主视图控制器上。方法,我做这件事,看起来是这样的(红色的观点是认为,黑色一个是主视图控制器) enter image description hereuiview的高度不正确

但我希望它看起来像这样... enter image description here

这是我试过的代码(以下简称“viewww”是红色视图)

viewww = UIView(frame: CGRect(x: 0, y: 0, width: self.view.frame.width, height: self.view.frame.height - navBar.frame.height)) 

我要的是在顶部底部时的空间(导航栏的高度),而不是出现“viewww”,但我不知道如何设置顶部的空间。

在此先感谢!

回答

2

这使您的视图到导航栏

viewww = UIView(frame: CGRect(x: 0, y: navBar.frame.height, width: self.view.frame.width, height: self.view.frame.height - navBar.frame.height)) 
+0

是的,它的工作!非常感谢!!!我会把你的答案作为正确 – Edwjonn

+0

现在旋转你的手机90°,看看它是否工作。 – NRitH

+0

是的,我也使用自动布局,但他要求帧解决方案... – Phyber

0

干净办法做到这一点的高度,没有硬编码的导航栏的高度,是使用自动布局。将视图的leadingtrailing边限制为超级视图,并将视图的topbottom边限制为顶部布局指南和底部布局指南(或者如果您使用的是iOS 11,安全区边缘)。请参阅https://useyourloaf.com/blog/safe-area-layout-guide/以获得更全面的解释。