将ScrollView添加到现有视图

Gio*_*ano 25 scrollview ios swift

我正在Swift 2.0中开发一个小应用程序.我有一个具有以下层次结构的视图:

在此输入图像描述

现在,放置在此视图中的元素无法完全显示在其中,因此我想使用a ScrollView以便能够滚动所有内容.

如何将我的所有内容嵌入View到新内容中ScrollView?我可以通过代码以编程方式执行此操作吗

ebb*_*y94 45

更新:有一种更简单的方法可以做到这一点,当我发布这个答案时我不知道

1)转到故事板上的viewcontroller,然后单击其中的某些内容并按Command + A.这将选择视图中的所有元素.

2)去Editor -> Embed In -> Scroll View.这会将所有标签,视图等嵌入到scrollView中.

3)选择scrollview刚嵌入的内容.按下Control并将其拖动到viewcontroller的相应类文件并创建一个插座scrollView.

4)将此添加到您的 viewDidLoad()

scrollView.contentSize = CGSizeMake(self.view.frame.width, self.view.frame.height+100)
Run Code Online (Sandbox Code Playgroud)

确保contentSize的高度大于视图的大小.

手动添加SCROLLVIEW

1)将scrollview对象库中的a拖放到viewcontroller故事板中,并以"scrollView"的形式创建程序插座.

2)单击您viewcontroller并转到尺寸检查器并记下宽度和高度.

3)点击你的scrollview设置widthheight相同的viewcontroller.并将XY值设置为0

4)单击scrollView并将其拖动到侧面

5)按Command+A选择所有元素,包括scrollView.按Command,然后单击scrollView以取消选择ScrollView

6)您将拥有除scrollView现在选择之外的所有元素.现在单击并将它们拖到scrollView中.

进入scrollView

7)现在单击scrollView并从Size Inspector 中将XY值设置为0.

8)将此添加到您的 viewDidLoad()

scrollView.contentSize = CGSizeMake(self.view.frame.width, self.view.frame.height+100)
Run Code Online (Sandbox Code Playgroud)

确保contentSize的高度大于视图的大小.

这应该为您的视图创建一个scrollView.一些元素可能处于略微不同的位置.你可以通过在storyBoard上移动它们来轻松修复它们.

  • 现在(Xcode 8,iOS 10)你应该使用`self.view.frame.size.width`和`self.view.frame.size.height`属性. (4认同)

Fre*_*one 6

它甚至可以比ebby94的答案更简单.

1)转到故事板上的viewcontroller并单击其中的某些内容并按Command + A.这将选择视图中的所有元素.

2)转到编辑器 - >嵌入 - >滚动视图.这会将所有标签,视图等嵌入到scrollView中.

3)将Scroll View的约束设置为View的边缘.

你很高兴去!不需要插座.

  • 在第3步,我设置了4个约束:前导,尾随,顶部布局指南,底部布局指南.我收到一条警告说:"可滚动内容大小对于'滚动视图'来说是不明确的." (2认同)