Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/120.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 视图的高度不正确_Ios_Swift_Uiview - Fatal编程技术网

Ios 视图的高度不正确

Ios 视图的高度不正确,ios,swift,uiview,Ios,Swift,Uiview,我试图在主视图控制器上放置一个uiview。我的操作方式是这样的(红色视图是视图,黑色视图是主视图控制器) 但我希望它看起来像这样。。。 这是我尝试过的代码(“viewww”是红色视图) 当“viewww”出现时,我希望在顶部(导航栏的高度)有一个空间,而不是在底部,但我不知道如何在顶部设置空间 提前感谢 这会将视图向下放置到导航栏的高度 viewww = UIView(frame: CGRect(x: 0, y: navBar.frame.height, width: self.view.

我试图在主视图控制器上放置一个uiview。我的操作方式是这样的(红色视图是视图,黑色视图是主视图控制器)

但我希望它看起来像这样。。。

这是我尝试过的代码(“viewww”是红色视图)

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


提前感谢

这会将视图向下放置到导航栏的高度

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

这会将视图降低到导航栏的高度

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

在没有硬编码导航栏高度的情况下,最干净的方法是使用autolayout。将视图的
前缘
后缘
约束到superview,并将视图的
顶部
底部
约束到顶部布局指南和底部布局指南(或者,如果使用iOS 11,则约束到安全区域边缘)。请参阅以获得更全面的解释。

在不硬编码导航栏高度的情况下,最干净的方法是使用自动布局。将视图的
前缘
后缘
约束到superview,并将视图的
顶部
底部
约束到顶部布局指南和底部布局指南(或者,如果使用iOS 11,则约束到安全区域边缘)。请参阅以获得更全面的解释。

是的,它起了作用!!!非常感谢你!!!我会把你的答案当作正确的是的,它成功了!!!非常感谢你!!!我认为你的回答是正确的