【问题标题】:UIScrollView with multipe TextViews and ImageViews layout issueUIScrollView 与多个 TextViews 和 ImageView 布局问题
【发布时间】:2014-11-08 19:18:41
【问题描述】:

我有一个视图,其中放置了一个适合整个视图的滚动视图。在scrollView里面我有一个textView,在一个imageView下面,在一个textView下面等等。 textViews 填充了来自 ViewController 的带有本地化文本的内容,因此它的高度将根据语言而变化。我为 textViews 提供了顶部、底部、左侧和右侧的约束,每个约束 10 个。 ImageViews 我给了顶部和底部的约束,每个 10,宽度为 200,并在容器中水平居中。每张图片的高度不同,并且没有给出高度限制。

第一个结果是,scrollView 得到了本地化文本中最长文本的宽度。我换了

  1. 滚动视图

    • 内容拥抱优先级水平为 995,垂直为 250。
  2. 文本视图

    • 内容拥抱优先级水平 400 和垂直 200,
    • 内容抗压缩优先级水平为 200,垂直为 750。

纵向模式下的完美结果。当更改为横向时,scrollView 的宽度保持在 320 并与左侧对齐。

如何解决这个问题,让 scrollView 占据屏幕的 100% 宽度,而不让 textView 有机会强制将自己放大到 100% 宽度?

【问题讨论】:

    标签: xcode uiscrollview uitextview autolayout ios8


    【解决方案1】:

    找到解决方案:

    scrollView 有约束:top/bottom 8 和 left/right 0 每个到 superview。

    textViews 对上、左、下和右有约束。

    图像具有顶部、底部和宽度约束,在容器中以 X 为中心。

    这导致 textView 占用一行并增长到巨大的宽度。

    然后我将 textViews 居中到 Container 中的 X 并选择所有 textViews 和图像并将它们也居中。

    现在scrollView占据屏幕100%的宽度,无论是纵向还是横向,都可以根据需要调整高度。

    所以对于所有可能有相同问题的人:scrollView 看起来比视图小一点,添加时的约束是左右为 0 和顶部/底部 >0。当在视图中拖放 scrollView 时,它会占用 100% 的视图大小。这就是问题所在,约束是-16。将 scrollView 设置为 x = 16 和 width = 288 会导致正确适合视图!接下来给 textViews 约束 top/left/bottom/right 并将其居中到容器(即使偏移到真实中心,项目的右侧是 0 预定义的 - 将其更改为使用当前画布值)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-16
      • 1970-01-01
      • 2018-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多