UIBehaviour为所有UI组件的基类,继承于MonoBehavior,拥有Unity相同的生命周期。
UI组件都是直接或者间接继承UIBehaviour这个抽象类。
除了Awake,OnEnable,Start,OnDisable,OnDestroy外,含有一些与ui变化相关的虚方法
//当关联的RectTransform维度发生变化时调用
protected virtual void OnRectTransformDimensionsChange()
{}
//当变更父级之前调用
protected virtual void OnBeforeTransformParentChanged()
{}
//当变更父级之后调用
protected virtual void OnTransformParentChanged()
{}
//当应用动画属性时调用
protected virtual void OnDidApplyAnimationProperties()
{}
//当更换了画布组后调用
protected virtual void OnCanvasGroupChanged()
{}
//当画布状态变化时调用
protected virtual void OnCanvasHierarchyChanged()
{}
//
public bool IsDestroyed()
{
return this == null;
}
每个组件的父类说明:
Text-->MaskableGraphic-->Graphic-->UIBehaviour
Image-->MaskableGraphic-->Graphic-->UIBehaviour
RawImage-->MaskableGraphic-->Graphic-->UIBehaviour
Button-->Selectable-->UIBehaviour
Toggle-->Selectable-->UIBehaviour
Slider-->Selectable-->UIBehaviour
ScrollBar-->Selectable-->UIBehaviour
DropDown-->Selectable-->UIBehaviour
InputFiled-->Selectable-->UIBehaviour
EventSystem-->UIBehaviour
特殊的
ScrollView由几个组件组成,关键ScrollRect-->UIBehaviour
Panel是使用了内置ui图片Background的Image