scrollview在Xcode 6上的内容宽度不明确

时间:2014-10-05 16:24:08

标签: ios objective-c uiscrollview interface-builder autolayout

我无法理解如何解决这个自动布局问题,我有这个观点:

enter image description here

有一个UIScrollView包含你在View中看到的元素,但是View给了我这个警告:

scrollview has ambiguous content width

我无法理解如何解决这个问题,我希望视图是针对全屏尺寸的,我希望宽度将是屏幕宽度,我该如何解决?

6 个答案:

答案 0 :(得分:3)

我在XCode 7.3中观察到它的修复,它的工作时间仅为10秒。我在上面制作了一个视频。点击这里:

https://www.youtube.com/watch?v=yETZKqdaPiI

您需要做的就是为UIScrollView添加一个与width and height相同的子视图。然后选择ViewController并按Reset to suggested constraint。请查看视频以获得清晰的理解。

由于

答案 1 :(得分:2)

这是因为您没有提供足够的约束,因此Xcode可以找到滚动视图的宽度。 您可以在屏幕上看到,找不到滚动视图宽度可以满足任何约束条件。

您可以通过提供包含修复宽度的图像视图的前导和尾随空格来实现。它也可以用任何其他视图完成。但我更喜欢控制,其中包含修复高度&宽度因此不需要设置拥抱优先级或压缩阻力。

答案 2 :(得分:2)

将所有内容放入视图中,并将该视图放入ScrollView。

编辑 - >嵌入 - >图

答案 3 :(得分:2)

解决方案是:

  1. 您的顶部有一个UIImageView。您将UIImageView的宽度设置为与UIViewController的根视图的宽度相同

  2. 您将UIImageView的前导和尾随空格设置为UIScrollView为0

  3. 您可以将UIImageView的高度设置为您希望图像的高度。然后将UIImageView的视图模式设置为' Aspect fit'。

答案 4 :(得分:0)

一个月前我遇到了同样的问题。添加一个约束,使UIView内的UIScrollView具有与UIScrollView内容宽度相同的大小。如果您在UIScrollView中有多个观看次数,请将UIView置于新UIView内,并确保新UIView的内容宽度与{{1}相同}}

致以最诚挚的问候,

答案 5 :(得分:0)

我也遇到了这个问题,解决问题的唯一方法是使用以下策略

  1. 添加滚动视图并设置其约束以填充屏幕
  2. 在滚动视图中添加UIview,可以将此视图作为内容视图调用。 在这个contentView中,将top,bottom,left和right margin设置为0(当然来自scrollView,它是superView);
  3. 现在应该这样做,您可以按照步骤3继续使用您的UI

    1. 将您的视图放在内容视图中,并相应地为其添加约束。
    2. 希望有所帮助