Auto Layout按钮布局异常:同约束下右侧按钮占比过大问题排查
小屏上右侧按钮视觉占比更大的原因分析
以下是几种可能导致该现象的原因:
视觉错觉的影响
人眼对靠近屏幕边缘的元素会产生感知偏差,右侧按钮贴近屏幕右边缘,在小屏设备上这种边缘挤压感会让它看起来比左侧按钮更“宽”、占比更大。你可以临时把两个按钮都移到屏幕中间,会发现它们实际尺寸完全一致。按钮内边距或内容排版不一致
即便按钮的宽高约束完全相同,如果两个按钮的contentEdgeInsets(内容内边距)、titleEdgeInsets(标题内边距)设置不一样,或者按钮的文字/图标排版有差异(比如左侧文字左对齐、右侧文字居中),也会让右侧按钮的视觉填充感更强,显得占比更大。检查一下两个按钮的这些属性是否统一。隐性约束冲突导致的尺寸偏差
可能存在你没注意到的隐性约束(比如父视图的约束、按钮内部内容视图的高优先级约束),在小屏设备上触发了约束优先级调整,导致右侧按钮的实际宽高被悄悄拉伸。你可以通过Xcode的Debug View Hierarchy工具查看两个按钮的真实frame值:运行App后暂停调试,点击调试工具栏的Debug View Hierarchy按钮,选中两个按钮查看右侧属性面板里的Frame数据,确认它们的宽高是否真的都是225×105。
内容的提问来源于stack exchange,提问作者A A
相关产品推荐
相关产品推荐

