为何button asset显示尺寸超出已设置宽高的按钮区域?
问题根因
这个问题和你设置的80*80宽高参数没有关系,是遗漏了两项关键配置导致的:
- 你在属性面板设置的
width、height仅控制按钮本身的布局边界、点击热区尺寸,默认不会自动约束按钮上加载的图标资源大小 - Button组件默认不会主动对挂载的Icon资源做缩放适配,如果你的原始箭头图标分辨率本身大于80*80,图标就会按照原始尺寸渲染,直接超出按钮的边界范围
- 你没有开启按钮的内容裁剪开关,超出边界的渲染内容不会被自动裁切隐藏,最终就出现了截图里边界框尺寸符合设置值、但图标溢出框外的效果
修复步骤
按以下两步配置即可解决问题:
- 配置图标缩放规则:在按钮属性面板找到
icon_max_width、icon_max_height两个参数,都设置为80,再把图标对齐方式调整为居中,图标就会自动缩放到匹配按钮的尺寸,不会超出边界 - (兜底配置)开启内容裁剪:在按钮的CanvasItem属性分类下,勾选
clip_contents选项,后续即使有其他内容超出按钮边界,也会被自动裁切,不会显示到框外
如果你不是通过Button自带的Icon属性加载的箭头图,而是把图片作为子节点挂在按钮下做显示内容,就找到这个图片子节点,把它的拉伸模式改为适配父节点尺寸,将宽高锁定为80*80、锚点设置为铺满父节点即可。
内容的提问来源于stack exchange,提问作者FabricioG
相关产品推荐
相关产品推荐

