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