一、ToggleGroup介紹
ToggleGroup是Unity中用來管理多個Toggle組的類。在一個ToggleGroup中的所有Toggle只能起到互斥的作用,即同一時間只能有一個Toggle被選中,其他Toggle必須保持未選中狀態。
ToggleGroup是一個MonoBehaviour,可以附加在一個GameObject上,一般情況下只需要在場景中創建一個ToggleGroup,並把需要進行互斥操作的Toggle掛到ToggleGroup的下面即可。
public class ToggleGroup : UIBehaviour { public bool allowSwitchOff; // 是否允許全部取消選擇 }
二、ToggleGroup的設置和選項
1. AllowSwitchOff
allowSwitchOff是一個bool類型的變量,表示是否允許所有Toggle都取消選中狀態。默認情況下,ToggleGroup不允許所有Toggle都取消選中狀態,也就是說,在ToggleGroup中至少有一個Toggle必須是選中狀態。
public bool allowSwitchOff;
2. NotifyToggleOn
NotifyToggleOn是一個方法,當ToggleGroup中的某個Toggle被選擇時會被調用,這個方法由Toggle組件內部調用,用戶不需要關心這個函數。
3. ActiveToggles
ActiveToggles是一個只讀屬性,表示在ToggleGroup中被選中的Toggle組件。
public IEnumerable ActiveToggles()
三、ToggleGroup的使用
1. 創建ToggleGroup
在Unity中創建ToggleGroup非常簡單,只需要在場景中創建一個GameObject,然後將ToggleGroup組件拖放到GameObject上即可。
2. 添加Toggle到ToggleGroup
將需要進行互斥操作的Toggle掛到ToggleGroup的下面即可。
3. ToggleGroup的使用示例
當ToggleGroup的allowSwitchOff設置為false時,ToggleGroup中至少有一個Toggle必須是選中狀態,如果用戶手動取消了選中狀態,ToggleGroup會自動將第一個Toggle設為選中狀態。
public ToggleGroup toggleGroup; void Start() { toggleGroup.allowSwitchOff = false; } public void ChangeValue() { Debug.Log(toggleGroup.ActiveToggles().First().name); }
結論
ToggleGroup作為管理Toggle的一個核心組件,使用起來非常方便。通過本文介紹的方法,你可以輕鬆地在你的項目中使用ToggleGroup,實現複雜的互斥操作。
原創文章,作者:PYRG,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/145890.html