将子视图从一个视图移动到另一个视图而不更改故事板中的任何位置信息?

时间:2013-06-06 08:11:22

标签: iphone ios interface-builder storyboard

我有一个iOS应用程序,我在故事板中创建了一些视图控制器,视图控制器的视图有一些子视图。现在我想在该视图中添加一些scrollview并希望在该滚动视图中移动所有这些子视图。但问题是当我将这些视图拖动到scrollview时,界面构建器将这些子视图居中,所有位置信息丢失了。

我不想让界面构建器这样做。有没有正确的方法来解决这个问题?我已经搜索过这个问题并找到了这两个解决方案,但在我的情况下没有一个是有用的。

Adding a subview to the current view without messing up positioning of objects in the view 我无法使用此解决方案,因为这是在我想要添加scrollview时将视图添加到另一个视图中。

XCode - Is there a way to drag a component from one view to another without losing its frame? 此解决方案对我没有帮助,因为当我这样做时,故事板文件被搞砸了并且被破坏了。

2 个答案:

答案 0 :(得分:58)

是的,有一种简单的方法可以做到这一点:

第1步:选择您的观点

enter image description here

第2步:转到编辑> 嵌入> 滚动视图

enter image description here

完成!

enter image description here

<强> PS 即可。事实上,这是一种非常方便的视图分组方式。您可以将任何视图嵌入到“容器”视图中,将其移动到任何您喜欢的地方(甚至是跨场景),保留相对位置信息,然后您可以将其保存为一个组或将其取消。

答案 1 :(得分:3)

如果有人遇到这个问题,试图找到一种方法来编程(就像我一样),这就是我最终使用的内容:

for (UIView *view in [_viewAdd subviews]) {
    [_viewMain addSubview:view];
}

注意:addSubview会从之前的superview中删除视图,因此无需为删除代码进行编码