Unity3D 給NGUI自帶的控件添加新屬性

原創文章如需轉載請註明:轉載自 脫莫柔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; }




寫着寫着感覺好低端,想刪了,又想想算了,寫都寫了~~



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章