NGUI -- UIPopupList 的使用

原文地址:http://www.tasharen.com/forum/index.php?topic=6751.0


概览

附加一个UIPopupList脚本到一个button将让你能通过他获得一个选项列表。


想创建一个组件,当你点击一个按钮,然后他会弹出一些选项让你选择,首先增加一个UIPopupList脚本给它,并制定Atlas和Font选项。你也可以选择一个sprite用于列表Background和Hightlight。Background是列表项的背景,Hightlight用于前景表示当前选中的选项。

为了对你的Popup List指定不同的选项,简单在Option框里面输入选项名字即可。它是一个多行文本框,你增加的每一行将创建一个新的列表项实体。所以如果你想有三个不同选项“First”,“Second”和“Third”——你只要像下面这样输入就可以了:

[csharp] view plain copy 在CODE上查看代码片 派生到我的代码片
  1. First  
  2. Second  
  3. Third  


Font选项定义了popuplist用于创建label的字体。在上面的图片,first,second和third将使用inspector制定的“Arimo20”字体创建。根据字体使用类型(bitmap或dynamic),你将可能可以修改字体大小(如果使用dynamic字体的话)。你还可以调节字体颜色,字体间距等。

如果你不想popuplist以动画形式出现,只要简单去掉Animated选项就可以了。

如果你想要text选项根据Localization System自动本地化,你可以勾选“Localized”复选框。

在OnValueChange部分,你能指定一个方法,它会在popuplist选择的时候被调用。如果你已经在某个地方增加了label,你只要简单引用它的SetCurrentSelection方法,那么label的值将显示popup list的选择。想这样做,你只要把Label游戏对象拖到Notify域并从下拉列表中选择UILabel.SetCurrentSelection方法即可。


想通过代码改变监听器,可以使用EventDelegate.Add方法:

[csharp] view plain copy 在CODE上查看代码片 派生到我的代码片
  1. EventDelegate.Add(popupList.onChange, YourFunction);  
这里假设你的方法名叫YourFunction:
[csharp] view plain copy 在CODE上查看代码片 派生到我的代码片
  1. void YourFunction ()  
  2. {  
  3.     Debug.Log("Selection: " + UIPopupList.current.value);  
  4. }  


Pro-Tip

为了制作更实用的下拉列表,在OnValueChange域引用按钮的label,并选择它的UILabel.SetCurrentSelection方法。这样将在当你从列表中选择选项的时候自动更新它的内容。


类文档

http://tasharen.com/ngui/docs/class_u_i_popup_list.html



如果你有一些和这个组件相关的问题,也可以在下面讨论。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值