2014-10-10 148 views
0

我有两个UIToggle对象,所以当我点击时,例如,切换1使其自身启用,切换2变为禁用状态。但我正试图在脚本中切换它们。NGUI UIToggle如何切换/取消激活一个

我得到的UIToggle 1这样的:

UIToggle toggleOn = ToogleParen.transform.FindChild("ButtonOn").GetComponent<UIToggle>(); 

并激活它这样做:

toggleOn.value = true; 

当我试图关闭它的问题就变成了:

toggleOn.value = false; <--- does nothing, the toggle button does not deactivate!! 

不任何人都知道如何以编程方式切换两个UIToggle对象?

谢谢!

+0

您是否将其用作单选按钮?如果是这样,NGUI会尝试确保启用组中的一个选项(这样做可能会忽略将“value”设置为false的尝试)。您可以通过将该组设置为零或设置“optionCanBeNone”来绕过此操作。 – rutter 2014-10-10 18:53:33

+0

谢谢你的回答! optionCanBeNone不允许使用错误的值,所以唯一的方法是将组置零以消除单选按钮的行为。非常感谢! :) – Kane 2014-10-14 01:21:22

+0

但是,如果您确实希望它们表现为单选按钮,那么您只需设置哪个切换开关为真,剩下的就会更新。 – Dover8 2015-02-16 10:23:32

回答

0

您将不得不刷新控件,以便NGUI在屏幕上重新绘制它。就像你在添加特定项目后必须添加网格一样。通过你所描述的,我认为你想实现类似于单选按钮(一次只能有一个选择)的东西。如果是的话,那么你应该使用UICheckbox,因为NGUI提供了使用复选框作为单选按钮的功能,在这种情况下,您不必取消选中代码中的其他复选框。