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

 public void Bind()
 {
   UIEventListener.Get(clickButton.gameObject).onClick = OnClick;
 }

 void OnClickButton(GameObjcect go)
 {
 }

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

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

 EventDelegate.Add(xInput.onSubmit, OnSubmitX);

 void OnSubmitX()
 {
   string inputString = mXLabel.text;//xInput组件在mXLabel中
   //非空判断
   //...
   
   int x = Convert.ToInt32(inputString);
   )
     //...做其他相关的事情
     x = ;
   )
     //...做其他相关的事情
     x = ;
   mXLabel.text = x.tostring();
 }

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

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

NGUI 使用EventDelegate.Add与UIInput.onSubmit、UIInput.onChange限定编辑框中的内容的更多相关文章

  1. NGUI List<EventDelegate> 小坑

    NGUI 3.0 之后 采用了 一种 全新的 事件系统 List<EventDelegate> ,使用起来并不麻烦. 但是最近做项目碰到一个小问题,特此分享一下. PS NGUI3.6.4 ...

  2. 配置python+mod_wsgi+apache 时 在浏览器中访问服务器时报错:Invalid HTTP_HOST header: 'XXXXX'. You may need to add u'XXXXX' to ALLOWED_HOSTS,在setting.py中添加‘*”无效的原因

    配置python+mod_wsgi+apache 时 在浏览器中访问服务器时报错:Invalid HTTP_HOST header: 'XXXXX'. You may need to add u'XX ...

  3. Add an Item to the New Action 在新建按钮中增加一个条目

    In this lesson, you will learn how to add an item to the New Action (NewObjectViewController.NewObje ...

  4. javascript——onsubmit和onreset事件 和开发中常用的方式

    <head> <meta charset="UTF-8"> <title></title> <script> funct ...

  5. 前端基础之BOM与DOM操作

    目录 BOM操作 navigator对象 screen对象 history对象 localtion对象 弹出框 计时 setTimeout() clearTimeout() setInterval() ...

  6. 第50课 关于对话框(About)

    1. 关于对话框 (1)标准的桌面应用软件都有一个关于对话框 (2)关于对话框用于标识软件自身的信息.如logo.项目名.版本号.开发者信息.版权信息.联系方式等. 2. 经典设计方案 3. 项目持续 ...

  7. TComboBox组件的重要属性

    TComboBox组件的重要属性 CharCase--------此属性用于设置编辑框内文字的大小写DropDownCount---此属性用于设置当用户下拉组合框时不需要加滚动条就能显示的项的个数Dr ...

  8. BoundsChecker使用

      转载:http://www.cnitblog.com/qiuyangzh/archive/2005/07/14/975.html 1 前言 我在本文中具体介绍了測试工具NuMega Devpart ...

  9. TComboBox组件重要属性和事件

    TComboBox组件的重要属性 CharCase--------此属性用于设置编辑框内文字的大小写 DropDownCount---此属性用于设置当用户下拉组合框时不需要加滚动条就能显示的项的个数 ...

随机推荐

  1. 500lines项目简介

    "500行或更少" "What I cannot create, I do not understand." -- Richard Feynman <50 ...

  2. jq 版的tab切换

    ta切换是在前端中非常常见的一种效果,网上的效果很多.但是我觉得下面这种方法最好,把tab效果封装成一个函数 tabs,这个函数要配合jq使用. var tabs = function (tab, c ...

  3. pthread 学习

    1. 创建线程 int pthread_create (pthread_t* thread, pthread_attr_t* attr, void* (*start_routine)(void*), ...

  4. Mysql常见四种索引的使用

    提到MySQL优化,索引优化是必不可少的.其中一种优化方式 --索引优化,添加合适的索引能够让项目的并发能力和抗压能力得到明显的提升. 我们知道项目性能的瓶颈主要是在"查(select)&q ...

  5. 仿QQ消息气泡提醒

    https://github.com/dkmeteor/Bubble-Notification   感谢这位作者,本例子只是封装了一下源码. 这是jar下载地址 下载之后只要引用就好.下面是一个最简单 ...

  6. centos6 安装python2.7

    yum -y install centos-release-scl yum -y install python27 临时生效 scl enable python27 bash 登录自动生效 cat & ...

  7. HDU1005

    Number Sequence  HDU-1005 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Jav ...

  8. 从append追加的<tr>里传ID参数给js函数

    今天这个小问题几乎把我整崩溃 $.each(data.list, function (index, item) { i++; shenhe = "待审核"; tixing = it ...

  9. 策略模式(strategy pattern)

    策略模式在java集合中的TreeSet和TreeMap中得到了很好的应用,我们可以实现Comparator接口实现Compareto()方法来定义自己的排序规则,然后通过TreeSet,TreeMa ...

  10. 在spring框架中配置Quartz定时器发生错误: class org.springframework.scheduling.quartz.JobDetailBean has interface org.quartz.JobDetail as sup

    这是由于spring和Quartz的不兼容性造成的.我的spring是4.0.2,但是Quartz是2.2.3的,换了一个1.8版本的Quartz就解决问题了.