将ScrollView添加到现有视图

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

在此处输入图像描述

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

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

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

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

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

3)选择刚刚嵌入的scrollview 。 按Control并将其拖动到viewcontroller的相应类文件并创建socketsscrollView

4)将其添加到viewDidLoad()

 scrollView.contentSize = CGSizeMake(self.view.frame.width, self.view.frame.height+100) 

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

手动添加SCROLLVIEW

1)将一个scrollview从Object Library拖放到storyboard中的viewcontroller上,并以’scrollView’的forms为程序创建一个sockets。

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) 

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

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

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

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

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

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

你很高兴去! 不需要sockets。

选择所有元素并嵌入滚动视图(editor-> embed in-> scrollView)工作正常。

通过选择约束警告(添加缺失约束),可以更轻松地添加约束。

我遇到过同样的问题。 我需要将scrollview添加到现有视图。但是我的主容器视图里面有很多视图。 他们彼此联系在一起。 所以我很害怕。 最后我做到了。 下面给出的过程。

  1. 复制您的视图(根视图)。 首先选择根视图,然后按Command + D.

  2. 现在删除根视图中的所有子视图视图

  3. 现在将滚动视图添加到根视图并将约束设置为0,0,0,0

  4. 现在将副本(您复制的)视图添加到滚动视图并将约束设置为0,0,0,0也设置所需的高度。

  5. 使用根视图将重复视图的宽度设置为相等宽度。

  6. 现在选择viewController,转到尺寸检查器,选择自由形状尺寸。 然后使用重复视图设置您输入的高度。

  7. 你差不多完成了。 现在,您必须将子视图与您在viewController类中提供的sockets或操作相关联。

就这样。