NGUI日历

开发了一个日历控件,在unity3d里面使用。使用方法如下:

首先写一个回调函数,函数参数为DateTime类型,当日历控件关闭时,选择的时间信息作为这个参数传入到这个回调函数,函数例子如下:

[csharp] view plain copy
  1. void SetBeginTime(DateTime dateTime)  
  2. {  
  3.     _beginTimeLabel.text = dateTime.ToString("yyyy-MM-dd");  
  4. }  

调用就非常简单了,如下:

[csharp] view plain copy
  1. calendarObj.SetActive(true);  
  2. Calendar calendar = _calendarObj.GetComponent<Calendar>();  
  3. calendar.callBack = SetBeginTime;  


首先是将GameObject显示出来,然后获取到里面的calendar这个脚本对象,然后传入上面的回调函数就可以了。

当你在设置了时间之后,会自动回调这个回调函数。


Calendar类和相对应的GameObject我放在我的资源里面了。

NGUI日历


-------------------------------------- 分割线 --------------------------------------------


使用的简单教程:

1. 由于我之前的疏忽,需要再次下载我新上传的unitypackage文件(不需要积分了),配合之前资源里面的c sharp文件使用

2. 导入ngui到工程,版本不能太低,我使用的是3.6.8的版本。

3. 导入Calendar.unitypackage文件。

4. 新建Scripts文件夹,将Calendar.cs文件放到里面。project里面资源应该和以下类似:

NGUI日历

NGUI日历

5. 创建一个ngui的ui root,然后拖动Calendar的prefab到下面,如下所示

NGUI日历

6. 补全Calendar的所有altas,应该有Background,BtnX,X,YearPageCtrl和MonthPageCtrl里面的Home,Prev,Next,End,Dates/Item1/Btn Valid,BtnOk,BtnReset等。

使用ngui默认的就可以,随表挑选一些,熟悉了之后可以用自己的资源替换。补全之后场景里面显示大致如下:

NGUI日历

7. 定位到Calendar物体上,在脚本处显示丢失了脚本,将Scripts下面的calendar.cs拖上去就行了。

8. 运行,结果如下:

NGUI日历