Advertisement

Unity编辑器-输入控件聚焦问题

阅读量:

Unity编辑器整理 - 输入控件聚焦问题

当EditorGUI的输入控件获得焦点后,若在其他位置修改数值,当前聚焦的界面元素将不会同步更新,同时无法手动取消焦点状态,具体示例如下图所示:

控件聚焦

在代码中取消控件的聚焦

取消聚焦的具体时点应依据实际情境而定,例如在按下“删除最后一个字符”按钮时可实现取消聚焦,同时亦可通过按下ESC键或鼠标移出面板的方式来达成相同效果。
代码:

复制代码
    text = EditorGUILayout.TextField("text:", text);
    if (GUILayout.Button("删最后一个字符")) {
    if (!string.IsNullOrEmpty(text)&& text.Length>0) {
        text = text.Substring(0, text.Length - 1);
    }
    //在需要时取消聚焦
    GUI.FocusControl(null);
    Repaint();
    }
    text = EditorGUILayo

全部评论 (0)

还没有任何评论哟~