我有一个视图,其中我放置了一个适合整个视图的scrollView。在scrollView里面,我有一个textView,在imageView下面,在textView下面,等等。 textViews中填充了ViewController中带有本地化文本的内容,因此其高度将根据语言而变化。我给了textViews顶部,底部,左侧和右侧的约束,每个约束10个。 ImageViews我给出了顶部和底部的约束,每个约束10,宽度200并且以容器水平为中心。每个图像的图像高度不同,并且没有给出高度约束。
第一个结果是,scrollView获得了本地化文本最长文本的宽度。
我换了滚动视图
textViews
纵向模式下的完美结果。更改为横向时,scrollView的宽度保持为320并与左侧对齐。
如何解决问题让scrollView占据屏幕宽度的100%而不让textViews有机会将自己放大到100%宽度?
答案 0 :(得分:0)
找到解决方案:
scrollView有约束:top / bottom 8和left / right 0各自为superview。
textViews有顶部,左侧,底部和右侧的约束。
图像具有顶部,底部和宽度的约束,以容器中的X为中心。
这导致textViews占用一行并增长到巨大的宽度。
然后我将textViews集中到Container中的X并选择所有textViews和图像并将它们居中。
现在,无论是肖像还是风景,scrollView都需要100%的屏幕宽度,高度。
因此对于所有可能存在相同问题的人来说:scrollView看起来比视图小一点,添加时的约束是左右0和顶部/底部> 0。在视图中拖放scrollView时,它占用视图大小的100%。那就是问题,限制是-16。将scrollView设置为x = 16和width = 288可以使视图正确拟合!接下来给出textViews约束顶部/左侧/底部/右侧并将其居中到容器(即使偏移到实际中心,项目的右侧是0预定义 - 将其更改为使用当前画布值)。