以水平、令人愉悦的方式显示属性

     2023-03-31     42

关键词:

【中文标题】以水平、令人愉悦的方式显示属性【英文标题】:Displaying properties in a horizontal, pleasant way 【发布时间】:2017-06-30 11:10:40 【问题描述】:

我有两个整数属性,想在一行中显示它们。

[CustomEditor(typeof(MazeConfiguration))]
public class MazeConfigurationEditor : Editor

    MazeConfiguration myTarget;

    public void OnEnable()
    
        myTarget = (MazeConfiguration)target;
    

    public override void OnInspectorGUI()
    

        EditorGUILayout.BeginHorizontal();
        myTarget.Width = EditorGUILayout.IntField("Width", myTarget.Width);
        myTarget.Length = EditorGUILayout.IntField("Length", myTarget.Length);
        EditorGUILayout.EndHorizontal();
    

但它看起来很宽。

如果我改变 Inspector 的宽度,它看起来像这样

所以我想删除标签与其输入字段之间的那些大空格,并在属性之间添加一些空格。

听说Property Drawer可以帮到我,所以我试了一下

public class MyIntAttribute : PropertyAttribute  

    [CustomPropertyDrawer(typeof(MyIntAttribute))]
    public class MyIntDrawer : PropertyDrawer
    
        public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
        
            EditorGUI.BeginProperty(position, label, property);

            // position = EditorGUI.PrefixLabel(position, GUIUtility.GetControlID(FocusType.Passive), label);

            var rect = new Rect(position.x / 2f, position.y, position.width / 2f, position.height);

            EditorGUI.PropertyField(rect, property);

            EditorGUI.EndProperty();
        
    

但它不会将输入字段移近相应的标签,我只能更改输入字段的宽度。

如何去除标签和输入字段之间的空格,并在不同属性之间添加空格?

【问题讨论】:

【参考方案1】:

我只需要改变

EditorGUIUtility.labelWidth

【讨论】:

荐一篇令人心情愉悦的面试总结

前言15年毕业到现在也近三年了,最近面试了阿里集团(菜鸟网络,蚂蚁金服),网易,滴滴,点我达,最终收到点我达,网易offer,蚂蚁金服二面挂掉,菜鸟网络一个月了还在流程中...最终有幸去了网易。但是要特别感谢点我... 查看详情

荐令人心情愉悦的一次面试总结

前言15年毕业到现在也近三年了,最近面试了阿里集团(菜鸟网络,蚂蚁金服),网易,滴滴,点我达,最终收到点我达,网易offer,蚂蚁金服二面挂掉,菜鸟网络一个月了还在流程中...最终有幸去了网易。但是要特别感谢点我... 查看详情

如何打造一个令人愉悦的前端开发环境(代码片段)

文章来源最近几年,前端发展越来越迅速,各种萌新加入了前端这个大家庭,大有赶IOS、超Android的趋势呀!同时,萌新们提出了各种前端工作问题,除了最基础的html、css、js三板斧之外,最让人头疼的应该是关于环境的配置问... 查看详情

如何以编程方式显示图像水平 UIscrollView

】如何以编程方式显示图像水平UIscrollView【英文标题】:howtodisplayimageshorizontalUIscrollViewProgrammatically【发布时间】:2014-07-1905:51:10【问题描述】:我确实为Url获取图像。然后在SCrollView上显示。我的代码是这样的NSMutableArray*al=[NSJSO... 查看详情

如何以编程方式添加水平分隔线

】如何以编程方式添加水平分隔线【英文标题】:howtoaddahorizontaldividerprogrammatically【发布时间】:2016-12-2615:49:50【问题描述】:在bleow发布的代码中,我试图在每个添加到线性布局的视图之后添加一个水平分隔线,如代码所示。... 查看详情

波尔原子模型:一段令人愉悦的历史(代码片段)

波尔的原子理论  波尔的原子理论 01波尔原子模型BohrModel:ADelightfulHistory[CC]一、前言  尼尔斯·波尔在其晚年曾谈到, 直到1913年人们对于氢气燃烧的光线中的物理规律还是一无所知,尽管它的谱线满足一定的模式... 查看详情

查询以水平显示输出

】查询以水平显示输出【英文标题】:Querytodisplayoutputhorizontally【发布时间】:2012-09-0807:18:31【问题描述】:我需要以水平方式显示查询输出。我有一些示例数据createtableTestTable(idnumber,namevarchar2(10))insertintoTestTablevalues(1,\'John\')inse... 查看详情

html中的hr啥意思?

<HR>(水平线)标签用于在页面上绘制水平线。此标签只有开始标签,没有结束标签,可使用属性控制水平线的显示。如:<HR>标签属性属性说明ALIGN指定流水线的位置,可以将水平线居中对齐、右对齐或左对齐。如:align=c... 查看详情

显示/隐藏片段并以编程方式更改可见性属性

】显示/隐藏片段并以编程方式更改可见性属性【英文标题】:Show/HideFragmentsandchangethevisibilityattributeprogrammatically【发布时间】:2013-03-0910:35:53【问题描述】:这是一个两部分的问题。我所拥有的是一个3Fragment布局,当用户点击另... 查看详情

asp.netmenu控件菜单项的间距如何调?

...enuItemStyle的属性类,你可以在这个里面设置菜单项之间的水平间距和垂直间距水平间距属性是:HorizontalPadding垂直间距属性是:VerticalPadding下面那个网址中有参考,希望能够解决你的问题 参考技术B在Menu控件的属性里面能设置menu... 查看详情

如何在 ios 9 中以编程方式为 UIStackView 的对齐属性设置动画

...布时间】:2017-03-0200:10:14【问题描述】:我想知道如何对水平UIStackView的对齐属性的变化进行动画处理,例如从UIStackViewAlignmentCenter到UIStackViewA 查看详情

UIButton 背景图像水平缩放以填充同时保持纵横比

】UIButton背景图像水平缩放以填充同时保持纵横比【英文标题】:UIButtonbackgroundimagehorizontalscaletofillwhilemaintainingaspectratio【发布时间】:2015-08-2002:14:43【问题描述】:我正在尝试将UIButton的backgroundImage设置为可以是任意大小的图像... 查看详情

每日一记:toast的使用

...结几点,供日后使用。intxOffset:决定了离初始显示位置的水平偏移量,单位是px,左负右正。intyOffset:决定了离初始显示位置的垂直偏移量,单位是px,上负下正。最终的显示位置由三个属性综合决定。2.setMargin()方法toast.setMargin(fl... 查看详情

为啥 SVG tspan y 属性会改变文本的水平对齐方式?

】为啥SVGtspany属性会改变文本的水平对齐方式?【英文标题】:WhydoestheSVGtspanyattributealterthehorizontalalignmentoftext?为什么SVGtspany属性会改变文本的水平对齐方式?【发布时间】:2016-02-2322:11:18【问题描述】:HTML:<svg><gtransfor... 查看详情

一样令人心情愉悦

...参加了,说起来还是自己变懒了。跑步和写文章一样令人心情愉悦。跑步愉悦,我们都知道是因为身体产生一种叫多巴胺的物质,其实还有另外一种物质叫内啡肽,俗称快乐吗啡。一个人可能走得更快,但是... 查看详情

以编程方式为水平居中的元素提供偏移量

】以编程方式为水平居中的元素提供偏移量【英文标题】:GivingOffsetToHorizontallyCenteredElementProgrammatically【发布时间】:2016-04-1216:48:08【问题描述】:我在Storyboard上设置了约束,并尝试将CollectionView水平居中并提供额外的偏移量。... 查看详情

将某一项的属性显示成表格

目的:  以表格方式显示他们的概要信息演练:  1>将命令的输出以管道符方式输出给Format-Table:    2>在表格格式中仅显示特定属性:    3>使用Auto参数使显示更易于阅读    查看详情

OpenGL / GLUT试图使水平棒以不同的方式波动

】OpenGL/GLUT试图使水平棒以不同的方式波动【英文标题】:OpenGL/GLUTTryingtomakehorizontalstickstofluctuatedifferently【发布时间】:2014-11-0607:37:15【问题描述】:我被要求做一个非常简单的Carousel。我做了一个中心杆,我有4个水平摇杆(-45... 查看详情