使用2个button,多个toggle,button分别控制toggle的全选与反选。
using UnityEngine;
using UnityEngine.UI;
using System.Collections.Generic;
public class AllSelect : MonoBehaviour
{
public GameObject allBtn; //全选
public GameObject cancelAllBtn; //反选
public List<Toggle> togs = new List<Toggle>();
public void AllSet(bool isAll) //绑定到对应button全选或者反选(对应button添加该方法)注意给个bool值全选为true
{
foreach (var item in togs)
{
item.isOn = isAll;
}
}
private void Update() //检测有几个toggle是打开的。
{
int count = 0;
foreach (var item in togs)
{
if (item.isOn)
count++;
}
cancelAllBtn.SetActive(count == 6);
allBtn.gameObject.SetActive(!cancelAllBtn.activeInHierarchy);
}
}
效果: