本文主要是介绍Unity使用ToggleGroup对多个Toggle进行管理时,初始化默认选项失效的问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题描述:
在unity脚本的OnEnable中用代码设置Toggle集合中的其中一个对象的ison时,发现并没有根据设置发生变化。但是该Toggle的OnValueChange却发生过变化。
如果使用协程等待0.01s,那么对应组件的ison的修改才能生效,但是逐帧分析的话会发现可以看到被切换前的残影。
问题分析:
ToggleGroup 组件的参数 allowSwitchOff为false时组件在每次显示时会有初始化的操作
该操作和我们在Enable中的修改发生了冲突。
所以在我们进行初始化时将allowSwitchOff参数修改为true,即可避免上述问题
void InitTogToFirst(){var tg = Togs.GetComponent<ToggleGroup>();tg.allowSwitchOff = true;for (int i = 0; i < Toggles.Count; i++){Toggles[i].isOn = false;}Toggles[0].isOn = true;tg.allowSwitchOff = false;}
这篇关于Unity使用ToggleGroup对多个Toggle进行管理时,初始化默认选项失效的问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!