NGUI 使用EventDelegate.Add与UIInput.onSubmit、UIInput.onChange限定编辑框中的内容

Unity中,使用NGUI,通常为某个控件(如按钮)绑定事件(单击、双击、拖拽、滚轮、选择等)都是用UIEventListener,比如:

1 public void Bind()
2 {
3   UIEventListener.Get(clickButton.gameObject).onClick = OnClick;
4 }
5 
6 void OnClickButton(GameObjcect go)
7 {
8 }

前阵子有个需求,需要用户单击编辑框显示手机输入法之后,在输入数字中,不能输入超过5000的值且不小于1的值,如果只是限制类型的话,那么单单使用UIInput就可以了,但限制值的大小,我就没看到UIInput组件在Unity编辑器中有相应的属性可以设置!

这个时候就可以用EventDelegate.Add,与UIInput.onChange或者UIInput.onSubmit组合,如果使用UIInput.OnChange的话,比如: 

 1 EventDelegate.Add(xInput.onSubmit, OnSubmitX);
 2 
 3 void OnSubmitX()
 4 {
 5   string inputString = mXLabel.text;//xInput组件在mXLabel中
 6   //非空判断
 7   //...
 8   
 9   int x = Convert.ToInt32(inputString);
10   if (x < 1)
11     //...做其他相关的事情
12     x = 1;
13   if (x > 5000)
14     //...做其他相关的事情
15     x = 5000;
16   mXLabel.text = x.tostring();
17 }

就可以在用户提交该输入结果后,在OnSubmitX函数里获取到该输入结果,然后进行判断,大于或小于限定的值就将其设置为最小或者最大值!然后才提交到UILabel中进行显示

 当然也可以使用UIInput.onChange!具体方法都差不多!

 

转载于:https://www.cnblogs.com/AlphaAI/p/4139970.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值