我在Unity3D中将类型String转换为UI输入时遇到问题。我想从数据库中检索信息并将它们放在文本框(UI输入)
中这是错误消息。 (第1次错误)
"无法转换方法组
ToString' to non-delegate type
UIInput&#39 ;.考虑使用括号来调用方法"
password = GameObject.Find ("tb_password").GetComponent <UIInput> ().ToString;
答案 0 :(得分:1)
您尝试使用字符串值覆盖标签,这会导致类型不匹配,实际上并非您所期望的那样。如果您不想为用户提供默认设置,则必须根据您可能不想要的代码访问UIInput
媒体资源value
或defaultValue
。< / p>
无论如何,如果您使用的是最新的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");
如果你正确地找到了你指定的这些名字的对象,这应该有效,否则它不会做任何事情。
答案 1 :(得分:0)
您可以访问NGUI的输入窗口小部件下的UILabel组件,而不是输入窗口小部件根目录下的UIInput组件,并在标签中设置文本(UILabel.text =&#34; my text&#34 )。您还可以创建一个更新标签文本的函数,并将文本作为此函数的参数传递。如果要更新文本,请调用该函数。