如何设置无文本UIButton的尺寸与它的SF Symbol图片大小一致?

解决方案
Interface Builder 操作步骤
- 选中目标UIButton,打开右侧「尺寸检查器」面板
- 找到「Content Insets」选项,下拉选择「自定义」,将上下左右四个方向的数值全部设为0
- 同步找到「Image Insets」选项,同样将四个方向的数值全部设为0
- 若你使用的是iOS 15及以上的UIButton.Configuration样式:切换到「属性检查器」,找到「Configuration」选项选择「Plain」,将「Content」分类下的Image Padding、Title Padding设为0,再将「Edge Insets」四个方向的数值全部设为0
- 额外校验:检查SF Symbol的Symbol Configuration配置,没有添加额外的边距参数
代码实现方案
iOS 15 以下通用方案
// 清空按钮全局内容内边距 button.contentEdgeInsets = .zero // 清空图片专属内边距 button.imageEdgeInsets = .zero
iOS 15 及以上Configuration样式方案
var config = UIButton.Configuration.plain() config.image = UIImage(systemName: "替换为你的SF Symbol名称") // 清空所有内容内边距 config.contentInsets = .zero button.configuration = config
如果调整后仍存在极微空白,可直接给按钮添加和SF Symbol尺寸一致的宽高固定约束,即可实现按钮与图片尺寸完全贴合。
内容的提问来源于stack exchange,提问作者Curiosity
相关产品推荐
相关产品推荐

