主要总结一下新手在使用NGUI时常见的问题。如有不明之处或是有更好的解决方法可以留言。希望大家可以把自己工作中遇见的问题分享出来,让我们共同进步!谢谢!
此贴会不定期更新。因为篇幅的原因,会将问题较多的组件单独写。以便大家能阅读。
一、UIToggle
1.如何判断Toggle是否勾选状态。
可以直接通过btn.GetComponent<UIToggle>().value; 来判断是否勾选状态。
2.代码控制改变Toggle状态。
btn.GetComponent<UIToggle>().value = true / false; 如果不行时,启个协程下一帧去执行或者看看是不是第三条原因导致的。
3.如何在切页或更新时将Toggle隐藏不显示。
编辑器的步骤:
首先是创建Sprite(暂且将它成为Object),然后添加Button,Box Collider,Toggle。
此时要注意的是:Sprite的Atlas为空,Toggle的Starting State不勾选,Box Collider根据需要调整大小。
然后在创建的Object下面创建一个新的Sprite(暂且将它称为Icon)子物体放上需要的图片,将子物体拖到Toggle的State Transition 下的Sprite上。
代码步骤:
在切页或更新时需要将数据从新赋值,这个时候将所有Object下面的Icon设为false;然后再次点击时将Icon设法true就OK啦。
★需要注意的是:
如果Object上没有Sprite的话,将Icon设为false后会导致点击没有任何反应。
如果Object上没有Toggle的话,也没有修改代码,点击是会导致上次点击的Icon还是处于显示状态,没有实现切换功能。(但此处也可以修改代码来解决)
二、UILabel
1.读取数据库或代码输入一段字符串中使用“\n”等换行符号无效。
先让我吐槽10块钱的。刚接手一个项目,发现之前的同事的解决方法是每一行都实例化一个UILabel。我也是醉醉的。
解决方法是:ToString().Replace("#&