4

我的问题是当我想在 Storyboard 的滚动视图中显示多个项目时,由于视图控制器的屏幕大小,我无法滚动添加更多项目。我怎样才能解决这个问题?

Xcode 版本:4.6 自动布局:启用

这是我想做的:

例子

编辑:我找到了解决这个问题的方法。只需添加高度最小的项目,然后在代码中调整它的大小。

4

4 回答 4

3

尝试心爱的步骤

更改 ViewController Size 的大小

更改 ViewController 的视图大小

添加按钮

添加按钮调整视图的大小(高度 = 568)和 Viewcontroller > Simulated Metrics > Size > inferred

于 2013-08-13T12:50:24.333 回答
2

有一种方法。可能看起来很难,但实际上很容易。这是一个混合解决方案,带有故事板和 nib 文件。您必须在 nib 文件而不是情节提要中构建视图。

1) 创建名为“MyViewController”的视图控制器。

2) 创建一个名为“MyViewController”的 nib 文件(viewcontroller 和 nib 文件的名称必须匹配才能使此技巧起作用)。

3)转到您创建的那个nib文件,从对象库中拖动一个滚动视图。

4)查看侧面菜单,搜索“文件所有者”图标(空立方体),在身份检查器下将文件所有者更改为您创建的视图控制器“MyViewController”。

5)右键单击文件所有者,将弹出一个菜单,控制拖动,从视图连接到您从对象库拖动的滚动视图。

6) 单击您刚刚拖动的滚动视图,然后转到属性检查器。在“模拟指标”下,将“大小”从“Retina 4 全屏”或其他任何内容更改为“自由”。现在您可以向下拖动滚动视图的底部边缘,为所有子视图腾出足够的空间。确保您不会意外增加宽度。

7) 回到故事板。

8) 如果未创建视图控制器,则将其从对象库中拖动。将其类更改为“MyViewController”。

9) 现在这就是诀窍发生的地方。确保从该视图控制器中删除所有视图,包括背景视图。如果您正确执行此操作,您将能够看到界面构建器的网格背景。这会强制情节提要寻找与视图控制器同名的 nib。

10) 运行,微笑(确保在滚动视图中添加了一些子视图,这些子视图超出了单个屏幕的范围,因此您必须滚动才能看到它们,否则将无法正确设置 contentSize,并且您将无法滚动):)

于 2013-05-22T12:27:47.847 回答
1

制作滚动视图对象并在 viewDidLoad 中设置。

self.scrollView.contentSize = CGSizeMake(320, 960);

使用你想要的高度:960

于 2013-08-13T11:57:59.990 回答
0

我不认为这是在 IB 中实现它的一种非常实用的方法。更好的方法是在代码中完成。

于 2013-05-22T09:29:43.107 回答