0

我已经google了很多天,但没有找到。我只知道如何通过 IB 来做,而不是通过编程方式。我认为[addsubview:view]只是添加兄弟视图,而不是父子视图。谢谢你的阅读。

4

7 回答 7

0

这很容易:

//allocate a view (or take it from IB or from where you want)
UIView *newView = [[UIView alloc] initWithFrame:CGRectMake(10,10,100,100)];

//add the view on the actual view (or any other view)
[self.view addSubview:newView];

所以这是一个父子案例,而不是兄弟视图。

实际上由[newView superView]您获得父视图。

于 2014-05-22T08:45:19.927 回答
0

您可能对子视图和子视图控制器之间的区别感到困惑,当我们拥有管理和显示许多子视图控制器的容器视图控制器时,会使用这些区别。

查看 Apple 的 UIViewController 文档的“实现容器视图控制器”部分,您将了解它们如何描述子视图控制器的工作方式。

而且,为了具体回答您的问题,以下是涉及子视图控制器的四种方法(来自文档):

以下是您可能需要调用的基本方法:

1)添加ChildViewController:

2) removeFromParentViewController

3) willMoveToParentViewController:

4)didMoveToParentViewController:

而且,当然,如果您真的在谈论子视图,那么在这方面还有很多其他人兴奋地为您的问题提供各种答案。希望你能很快得到你的问题的正确答案。

于 2013-05-30T11:03:13.373 回答
0

您可以子类化一个类来实现这一点。

例子:

@interface MSCustomView:UIView

这里 UIView 是父类, MSCustomView 是子类

于 2013-05-30T11:03:53.710 回答
0

[UIView addSubView:]函数将视图作为子视图添加到您调用它的视图中,即

[view1 addSubView:view2]将 view2 作为子项添加到 view1。

在苹果文档中:

http://developer.apple.com/library/ios/documentation/UIKit/Reference/UIView_Class/UIView/UIView.html#//apple_ref/occ/instm/UIView/addSubview

于 2013-05-30T11:04:09.123 回答
0

addsubview就是这样做的。如果您继续将子视图添加到同一个视图,您基本上会为该子视图创建更多同级

来自 iOS 开发者库:

视图可以嵌入其他视图并创建复杂的视觉层次结构。这在嵌入的视图(称为子视图)和执行嵌入的父视图(称为父视图)之间创建了父子关系。

https://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIView_Class/UIView/UIView.html

于 2013-05-30T11:04:22.263 回答
0

AddSubview 将视图添加到父层次结构中。IOS 也为广告子视图提供了 insertSubview。这个

http://developer.apple.com/library/ios/#Documentation/WindowsViews/Conceptual/ViewPG_iPhoneOS/CreatingViews/CreatingViews.html

提供更好的方法来理解它。

于 2013-05-30T11:06:36.603 回答
0

您可以通过 [parentview addSubView:childView] 在 childView 和 parentview 都属于 UIView 类型的语法中添加子视图。

于 2014-05-22T08:30:38.047 回答