我的问题是当我想在 Storyboard 的滚动视图中显示多个项目时,由于视图控制器的屏幕大小,我无法滚动添加更多项目。我怎样才能解决这个问题?
Xcode 版本:4.6 自动布局:启用
这是我想做的:
编辑:我找到了解决这个问题的方法。只需添加高度最小的项目,然后在代码中调整它的大小。
我的问题是当我想在 Storyboard 的滚动视图中显示多个项目时,由于视图控制器的屏幕大小,我无法滚动添加更多项目。我怎样才能解决这个问题?
Xcode 版本:4.6 自动布局:启用
这是我想做的:
编辑:我找到了解决这个问题的方法。只需添加高度最小的项目,然后在代码中调整它的大小。
尝试心爱的步骤
添加按钮调整视图的大小(高度 = 568)和 Viewcontroller > Simulated Metrics > Size > inferred
有一种方法。可能看起来很难,但实际上很容易。这是一个混合解决方案,带有故事板和 nib 文件。您必须在 nib 文件而不是情节提要中构建视图。
1) 创建名为“MyViewController”的视图控制器。
2) 创建一个名为“MyViewController”的 nib 文件(viewcontroller 和 nib 文件的名称必须匹配才能使此技巧起作用)。
3)转到您创建的那个nib文件,从对象库中拖动一个滚动视图。
4)查看侧面菜单,搜索“文件所有者”图标(空立方体),在身份检查器下将文件所有者更改为您创建的视图控制器“MyViewController”。
5)右键单击文件所有者,将弹出一个菜单,控制拖动,从视图连接到您从对象库拖动的滚动视图。
6) 单击您刚刚拖动的滚动视图,然后转到属性检查器。在“模拟指标”下,将“大小”从“Retina 4 全屏”或其他任何内容更改为“自由”。现在您可以向下拖动滚动视图的底部边缘,为所有子视图腾出足够的空间。确保您不会意外增加宽度。
7) 回到故事板。
8) 如果未创建视图控制器,则将其从对象库中拖动。将其类更改为“MyViewController”。
9) 现在这就是诀窍发生的地方。确保从该视图控制器中删除所有视图,包括背景视图。如果您正确执行此操作,您将能够看到界面构建器的网格背景。这会强制情节提要寻找与视图控制器同名的 nib。
10) 运行,微笑(确保在滚动视图中添加了一些子视图,这些子视图超出了单个屏幕的范围,因此您必须滚动才能看到它们,否则将无法正确设置 contentSize,并且您将无法滚动):)
制作滚动视图对象并在 viewDidLoad 中设置。
self.scrollView.contentSize = CGSizeMake(320, 960);
使用你想要的高度:960
我不认为这是在 IB 中实现它的一种非常实用的方法。更好的方法是在代码中完成。