全面探索UGUI源码之UIBehaviour

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

猜你喜欢

转载自blog.csdn.net/u013012420/article/details/105682869
今日推荐