Objective c 仅使用界面生成器的UIScrollView

Objective c 仅使用界面生成器的UIScrollView,objective-c,uiscrollview,storyboard,autolayout,constraints,Objective C,Uiscrollview,Storyboard,Autolayout,Constraints,我知道这个问题以前已经被回答过很多次了,但是我的用例似乎与所有的用例都有很大的不同,以至于我不能完全理解它 我的问题 我有一个与superview大小不同的滚动视图。滚动视图有一个子视图,其大小与其相同,但需要能够进行缩放 尝试教程: (1) --这仅通过代码完成,示例仅显示全屏滚动视图 (2) ——这是一篇写得很好的文章,但我无法让它为我工作。我想这是因为她的滚动视图是全屏的 (3) -另一个全屏滚动视图 。。。还有很多与这些非常相似的教程 我的要求 我的滚动视图需要全宽 我的滚动视图需要距

我知道这个问题以前已经被回答过很多次了,但是我的用例似乎与所有的用例都有很大的不同,以至于我不能完全理解它

我的问题 我有一个与superview大小不同的滚动视图。滚动视图有一个子视图,其大小与其相同,但需要能够进行缩放

尝试教程: (1) --这仅通过代码完成,示例仅显示全屏滚动视图

(2) ——这是一篇写得很好的文章,但我无法让它为我工作。我想这是因为她的滚动视图是全屏的

(3) -另一个全屏滚动视图

。。。还有很多与这些非常相似的教程

我的要求
  • 我的滚动视图需要全宽
  • 我的滚动视图需要距顶部40磅,纵横比为1:1
  • 我的滚动视图需要有一个子视图,该子视图的大小与滚动视图的大小完全相同,但可以进行缩放(也称为内容大小=滚动视图大小)
我不认为滚动视图的大小会影响任何事情,但它似乎会

我试过的 正如上面所有教程所推荐的,我只有滚动视图的一个子视图,并恰当地将其命名为“内容视图”

  • 视图控制器 |-看法 |-滚动视图 |-内容视图 |-ZoomableView
以下是我的约束条件的图片:

如您所见,我设置了从“网格”(可缩放视图)到视图控制器视图的相等宽度。我还尝试添加一个相等宽度的内容视图和VC的视图

我的问题
我知道我可以使用显式的宽度和高度来实现这一点,但我知道我应该能够通过将宽度设置为视图的宽度,将高度设置为视图的宽度(也称为1:1纵横比)。我怎样才能做到这一点呢?

我想我以前也遇到过同样的问题。我最后做的是添加一个“容器”视图,并使用它来设置宽度和高度相等约束,而不是视图控制器的视图

这个设置将产生你想要的东西,我认为:一个滚动视图,有一个子视图,可以在视图控制器的视图(屏幕截图中为灰色)中进行收缩缩放,但上边距为40磅


搞定了。它向内容视图的superview添加了具有相同、明确约束的内容视图。