UIScrollView仅使用Interface Builder

时间:2014-11-07 03:10:00

标签: objective-c uiscrollview storyboard autolayout constraints

我知道这个问题在很久以前就得到了解答,但我的用例似乎与所有这些问题完全不同,我无法理解它。

我的问题

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

尝试过教程:

(1) - Apple's Technical Note - 仅使用代码完成此操作,示例仅显示全屏滚动视图。

(2) - Natasha The Robot's Article - 这是一篇写得很好的文章,但我无法让它为我工作。我认为这是因为她的滚动视图是全屏的。

(3) - Happy Coding Blog Article - 另一个全屏滚动视图

......以及许多与这些

非常相似的其他教程

我的要求

  • 我的滚动视图需要为全宽
  • 我的滚动视图需要距离顶部40pt,宽高比为1:1
  • 我的滚动视图需要有一个与其大小完全相同的子视图,但可以进行缩放缩放(也就是内容大小=滚动视图大小)

我不认为滚动视图的大小应该影响任何东西,但它似乎。

我尝试了什么

正如上面推荐的所有教程一样,我只有一个滚动视图的子视图,并且恰如其分地命名为#34;内容视图"。

  • 查看控制器 | - 查看   | -ScrollView      | -ContentView         | -ZoomableView

这是我的约束的图片:

Constraints

正如您所看到的,我在" Grid"中设置了相同的宽度。 (Zoomable view)到视图控制器的视图。我还尝试添加相同宽度的内容视图和VC的视图。

我的问题

我知道我可以使用明确的宽度和高度来使用它,但我知道我应该能够通过将宽度设置为视图的宽度和高度等于视图来获得它。宽度也是(AKA 1:1纵横比)。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:2)

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

Layout

此设置将生成您想要的内容:具有1个子视图的滚动视图,可以在视图控制器的视图中进行缩放 - 缩放(屏幕截图中为灰色),但上边距为40pt。