【问题标题】:iOS UIScrollView fits screen width sometimesiOS UIScrollView 有时适合屏幕宽度
【发布时间】: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

When rendered correctly

When rendered incorrectly

任何帮助将不胜感激

【问题讨论】:

  • 您是否在视图的左侧和顶部设置了约束?
  • 是的,我有...我刚刚在视图层次结构调试器中查看,似乎视图控制器的宽度在它嵌入的导航器控制器之外扩展。我是不知道为什么?
  • 如果您正确设置了约束,则不需要设置高度和宽度。
  • 我不确定,但在第一个屏幕截图中,图像下方的文本是单行的。我在想的是它获得了多行标签的内在尺寸。我们看到的空白块是该标签的一部分。尝试更改元素的 backgroundColor 以查看哪个元素确实存在问题。并从那里开始工作。
  • 我在想的是它与从嵌入在导航 VC 中的 tabview VC 中分离有关。这会有所作为吗?当它返回时,导航 VC 是不符合导航 VC 约束的东西

标签: ios swift uiscrollview


【解决方案1】:

原来我的问题与我创建嵌入式 VC 后重命名它有关。我不得不删除并重新开始,现在它工作正常

【讨论】:

    猜你喜欢
    • 2018-05-30
    • 1970-01-01
    • 2013-07-27
    • 1970-01-01
    • 2017-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-05
    相关资源
    最近更新 更多