原创文章如需转载请注明:转载自 脱莫柔Unity3D学习之旅 QQ群:【119706192】 本文链接地址: Unity3D给NGUI自带的控件添加新属性
项目找要对用户输入的内容进行字节限制,我是在UILabel控件内直接添加一个MaxLength属性,直接在输入的时候限制。
直接在UILabel里增加功能暂且不表。
此博客主要记录的是如何给UILable添加属性,并显示在Inspector视图。
打开UILabel文件,直接在当前文件添加一个public的max length属性在Inspector视图是不会显示的。
那么就在Project窗口搜索 UILabel,这时候会有两个结果。
哎,这个时候就发现了UILabelInspector这个文件,这个文件时专门对UILabel在Inspector显示视图编辑的一个类。
UILable 里添加一个[HideInInspector][SerializeField] int mMaxLength = 0;属性,然后再添加一个 public int MaxLength{get{}set{} }属性。
然后在UILabelInspector类的DrawProperties()方法添加一组GUILayout就可以了。
GUILayout.BeginHorizontal();
int len = EditorGUILayout.IntField("Max Length", mLabel.MaxLength, GUILayout.Width(120f));
GUILayout.Label("byte");
GUILayout.EndHorizontal();
if (len != mLabel.MaxLength) { RegisterUndo(); mLabel.MaxLength = len; }
写着写着感觉好低端,想删了,又想想算了,写都写了~~