objective-c – UIScrollView仅使用Interface Builder

我知道这个问题在很久以前就得到了回答,但我的用例似乎与所有这些问题完全不同,我无法弄明白.

我的问题

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

尝试过的教程:

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

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

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

……以及许多与这些非常相似的其他教程

我的要求

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

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

我试过了什么

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

>查看控制器
| – 查看
  | -ScrollView
     | -ContentView
        | -ZoomableView

这是我的约束的图片:

如您所见,我从“网格”(Zoomable视图)到视图控制器的视图设置了相等的宽度.我也尝试添加相等宽度的内容视图和VC的视图.

我的问题

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

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

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

点赞