原創文章如需轉載請註明:轉載自 脫莫柔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; }
寫着寫着感覺好低端,想刪了,又想想算了,寫都寫了~~