Swift - 屏幕外的容器视图
Posted
技术标签:
【中文标题】Swift - 屏幕外的容器视图【英文标题】:Swift - Container view outside of screen 【发布时间】:2017-07-01 19:34:23 【问题描述】:我认为这是一个简单的问题,但我还没有找到解决方案,这让我发疯了!
我的视图容器中的一个容器视图不会遵循我提出的约束。由于某种原因,它在屏幕之外结束。主视图控制器包含在导航栏下方菜单的另一个视图(PageMenu)中,但我认为它不相关。我有另一个 PageMenu 视图,当我尝试将容器视图放在那里时,它已正确显示。
任何帮助将不胜感激!
运行时的样子
约束设置
提前致谢
【问题讨论】:
我们是在处理中间视图吗? 它是底部的一个,被选中的那个。中间的覆盖了整个屏幕,但显示在所选的下方一层。 上传带有顶视图和中间视图约束的截图..我想我们可以弄清楚一些事情! 【参考方案1】:我发现了问题!我曾尝试禁用所有其他视图,以防它们的约束受到干扰,但它们与此无关。
显然视图在主视图之外 34.0 像素,这是我的 PageMenu 菜单的高度。因为懒,所以在viewDidLayoutSubviews()中修复了。
override func viewDidLayoutSubviews()
self.calendarViewContainer.frame = CGRect(...
y: self.calendarViewContainer.frame.origin.y - 34.0,
...
PageMenu pod 中可能包含更好的解决方案,但因为这是唯一受它影响的容器,所以我现在会坚持使用这个解决方案。
【讨论】:
以上是关于Swift - 屏幕外的容器视图的主要内容,如果未能解决你的问题,请参考以下文章
无论框架的 x 和 y 如何,UIView 始终位于屏幕底部 - Swift