不能隐式转换类型'string'& # 39; UIInput& # 39;

本文关键字:转换 UIInput 类型 string 不能 | 更新日期: 2023-09-27 18:01:45

我在Unity3D中转换类型字符串到UI输入有问题。我想从数据库检索信息,并将它们放在一个文本框(UI输入)

这是错误消息。(1号错误)

"无法转换方法组ToString' to non-delegate type UIInput"。考虑使用括号来调用方法"

"
password = GameObject.Find ("tb_password").GetComponent <UIInput> ().ToString;

不能隐式转换类型'string'& # 39; UIInput& # 39;

您试图用字符串值覆盖标签,这会导致类型不匹配,实际上不是您想要的。如果你不想为用户提供默认值,你必须访问UIInput属性valuedefaultValue -无论如何,根据你的代码,你可能不想要它。

无论如何,如果你使用的是最新的NGUI,你应该像这样修改你的代码:

UIInput username = GameObject.Find ("tb_username").GetComponent <UIInput> ();
UIInput password = GameObject.Find ("tb_password").GetComponent <UIInput> ();
if( username != null )
    username.value = DB.getName(LoginSystem.userNameStatic);
if( password != null )
    password.value = DB.getPassword ("password");

如果您正确地找到具有您指定的这些名称的对象,那么它应该可以工作,否则它不会做任何事情。

你可以在NGUI的输入小部件下访问UILabel组件,而不是在输入小部件的根节点上访问UILabel组件,并在标签(UILabel)中设置文本。Text = "my Text ")。您还可以创建一个函数来更新标签文本,并将文本作为该函数的参数传递。当您想要更新文本时调用该函数。