2017-07-01 59 views
0

我认为这是一个简单的问题,但我还没有设法找到一个解决方案,它让我疯狂!斯威夫特 - 屏幕外的容器视图

我的视图容器中的一个容器视图不会遵循我提出的约束。出于某种原因,它会在屏幕之外结束。主视图控制器包含在我的导航栏下方菜单的另一个视图(PageMenu)中,但我认为它不相关。我对PageMenu有另一种看法,当我尝试将容器视图放在那里时,它已被正确显示。

任何帮助,将不胜感激!

它的外观运行

How it looks during runtime

约束中设置

The constraints settings

在此先感谢

+0

我们是否正在处理中间视图? –

+0

这是最底层的一个,被选中的一个。中间的一个覆盖整个屏幕,但显示在选定的一个下面一层。 – drante

+0

也上传截图顶部和中间视图的约束也..我想我们可以找出一些东西,然后! –

回答

0

我发现这个问题!我曾尝试禁用所有其他视图,以防其约束条件受到干扰,但与它无关。

显然,视图是在主视图之外的34.0像素,这是我的PageMenu菜单的高度。因为我很懒,所以我在viewDidLayoutSubviews()中修复了它。

override func viewDidLayoutSubviews() { 
    self.calendarViewContainer.frame = CGRect(... 
               y: self.calendarViewContainer.frame.origin.y - 34.0, 
               ... 
} 

有可能是包含在PageMenu荚更好的解决方案,但因为这是受它的唯一的容器中,我将与此解决方案坚持现在。