addChild、addElement区别是什么

addChild()接受的是一个DisplayObject对象,addElement()接受的是一个IVisualElement对象,IVisualElement是在Flex 4组件中开始应用的,所以Flex 3当中的组件没有实现IVisualElement接口,再所以Flex 3当中的容器用的是addChild()。而Flex 4中的spark组件已经实现了IVisualElement接口,所以可以用addElement(),在Flex 4中使用Flex 3的组件和其它没有实现IVisualElement接口的组件时,可以使用addElement(UIComponent(flex_3_comp)),就相当于用UIComponent来做一下包装。 在Flex 4容器中,其实内建了一个Group类型的contentGroup用来存放容器中的元素,而正是Group类定义了addElement(),所以Flex 4容器不用addChild(),而是用addElement(),说白了,是拜Group类和其子类所赐。

转载于:https://www.cnblogs.com/thingsoft/archive/2011/08/19/2145943.html

好的,关于 `self.addChild`,它是 UIViewController 中的一个方法,用于向当前视图控制器中添加子视图控制器。 在 iOS 中,视图控制器的嵌套是非常常见的,我们可以通过 addChild 方法将一个或多个子视图控制器添加到当前视图控制器中,从而实现视图控制器的嵌套。 具体来说,当我们将一个视图控制器添加为另一个视图控制器的子视图控制器时,子视图控制器将被添加到父视图控制器的子视图控制器列表中,同时父视图控制器会成为子视图控制器的容器视图控制器,负责管理子视图控制器的生命周期、协调子视图控制器之间的交互等。 在使用 addChild 方法时,我们需要先调用 `addChild(_:)` 方法将子视图控制器添加到父视图控制器中,然后再将子视图控制器的 view 添加到父视图控制器的视图层级中,最后调用 `didMove(toParent:)` 方法通知子视图控制器已经被添加到了父视图控制器中。 示例代码如下: ```swift let childViewController = ChildViewController() self.addChild(childViewController) self.view.addSubview(childViewController.view) childViewController.didMove(toParent: self) ``` 上面的代码先创建了一个子视图控制器 childViewController,然后将其添加到当前视图控制器中,最后将 childViewController 的 view 添加到当前视图控制器的视图层级中,并调用 didMove(toParent:) 方法通知 childViewController 已经被添加到了当前视图控制器中。 希望这个解释能够帮到您。如果您还有其他问题,请随时向我提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值