如何使用Storyboard布局比Xcode 7.2上的屏幕更高的屏幕内容?

我使用swift 2.0进行编程,我对在视图控制器上添加更多对象感到困惑。 例如,我的视图控制器上需要14个按钮,具有所需的约束。 但我能在故事板上的视图控制器中逐个添加7个按钮。 因为没有更多的地方在视图控制器上添加对象。 那么,如何在故事板上的视图控制器中添加多个对象? 请参考以下屏幕截图。 谢谢你的帮助朋友。

在故事板上查看控制器:

在此处输入图像描述

我只能添加7个具有适当约束的按钮。 但我需要添加14个具有适当约束的按钮。 当滚动视图控制器时,按钮8到14将分别一个一个地显示按钮1到7。

iPhone 5上没有滚动视图的输出

在此处输入图像描述

带有滚动视图的iPhone 4s输出:

在此处输入图像描述 我在iPhone 5上需要这样,但需要14个按钮。 8到14个按钮分别排列1到7个按钮。

你可以将它放在故事板中。

  1. 单击viewController,然后在“ 大小”检查器中 ,将“ 模拟大小”设置为“ 自由forms” ,并将宽度设置为320 ,将高度设置为1136 。 这将给你一个高瘦的布局。

    自由形式布局

  2. 添加一个scrollView。 将scrollView调整为全屏。 将其四个边都固定在superView上。

  3. 将一个UIView添加到scrollView。 这是你的contentView。 将内容视图调整为全屏。 将其四个边都固定在scrollView上。
  4. 在contentView和scrollView之间设置Equal Widths约束。 这只允许它垂直滚动。
  5. 为contentView设置高度约束1136
  6. 在高大的viewController中布置你的14个按钮。

    Xcode显示带有14个按钮的高viewController

运行时,您的contentView将滚动。


在iPhone 5模拟器中演示

您可以使用一些代码而不是Storyboard轻松添加按钮。

  let scrView = UIScrollView(frame: CGRect(x: 0, y: 0, width: SCR_W, height: SCR_H)) for idx in 1...14 { let button = UIButton(frame: CGRectMake(0, 0, btnWidth, btnHeight)) button.center = CGPointMake(SCR_W/2, offset * idx) button.setTitle("Button\(idx)", forState: .Normal) button.tag = idx button.addTarget(self, action: #selector(self.onClick(_:)), forControlEvents: .TouchUpInside) scrView.addSubview(button) } scrView.contentSize = CGSizeMake(SCR_W, offset * 14) self.view.addSubView(scrView) --------> func onClick(let btn:UIButton) -> Void { switch btn.tag { case 1: case 2: case 3: ... ... ... default: } } 

您可以在Storyboard中更改viewController大小。

选择viewController并将大小更改为Freedom(图1)。

在此处输入图像描述

  fig1. 

选择viewController视图并更改框架。 (fig2。)

在此处输入图像描述

  fig2.