【发布时间】:2018-12-04 14:53:42
【问题描述】:
我有一个 UIScrollview 在适应屏幕宽度方面表现不一致。当我多次运行相同的构建时,它与这个错误渲染的视图不同:
[错误观点]
到这个正确渲染的视图:
[正确观点]
当视图正确渲染时,滚动按预期工作,但当它渲染不正确时,它根本不滚动,但图像宽度似乎渲染得很好。
视图层次结构是视图>安全区域>滚动视图>内容视图。我已将 Content View 的宽度限制为等于顶视图,并为滚动和 Content View 设置了约束 (0,0,0,0)。另一个问题是,即使我在情节提要中禁用了扩展边缘功能,我的视图仍在顶部栏后面。我还尝试使用以下代码在代码中设置滚动视图大小:
让大小 = UIScreen.main.bounds.size self.scrollView.contentSize = CGSize(width: size.width, height: size.height)
在调试器中,每个渲染看起来像这样。请注意,VC 转义了导航 VC
任何帮助将不胜感激
【问题讨论】:
-
您是否在视图的左侧和顶部设置了约束?
-
是的,我有...我刚刚在视图层次结构调试器中查看,似乎视图控制器的宽度在它嵌入的导航器控制器之外扩展。我是不知道为什么?
-
如果您正确设置了约束,则不需要设置高度和宽度。
-
我不确定,但在第一个屏幕截图中,图像下方的文本是单行的。我在想的是它获得了多行标签的内在尺寸。我们看到的空白块是该标签的一部分。尝试更改元素的 backgroundColor 以查看哪个元素确实存在问题。并从那里开始工作。
-
我在想的是它与从嵌入在导航 VC 中的 tabview VC 中分离有关。这会有所作为吗?当它返回时,导航 VC 是不符合导航 VC 约束的东西
标签: ios swift uiscrollview