在Unity中运行时取消选中下拉项

时间:2017-10-03 15:00:39

标签: c# unity3d

这似乎微不足道,但我遇到了困难。

用户选择下拉列表中的项目,这会在项目旁边创建一个小复选标记。

我想在我的代码中取消选中它并删除该复选标记。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

您可以使用Dropdown.value更改选择的项目。租赁时,必须选择一个项目。

  

我想取消选择所选项目。将其还原为原始版本   状态。

获取StartAwake功能中的原始项目:

public Dropdown dropDown;
private int originalState;

void Awake()
{
    originalState = dropDown.value;
}

如果要将其还原,请恢复为您保存的值:

void restoreDropDown()
{
    dropDown.value = originalState;
}

答案 1 :(得分:0)

不幸的是,下拉菜单的原始状态为dropdown.value = -1,修改后无法重置。修改后,该值始终大于0,即使您为其分配了-1。

唯一的解决方法是创建一个Dropdown预制件,并在重置时从预制件销毁并实例化它。在这种情况下,您需要根据代码动态创建所有侦听器,从而使Dropdown的所有编辑器分配均无用。您需要使用初始化脚本。