如何在Xcode 13 storyboard检查器中设置UIButton阴影颜色
Xcode 13 的属性检查器默认没有暴露UIButton控件本身(CALayer图层级)的阴影颜色可视化配置入口,你当前找到的Shadow Offset属于按钮内部标题文本的阴影属性,和控件整体阴影不是同一个配置项。
纯检查器配置(无需手写代码)
不需要写额外代码,直接在Xcode检查器面板中通过自定义运行时属性即可完成配置,步骤如下:
- 选中目标UIButton,打开右侧面板的身份检查器(快捷入口:快捷键
Option+Cmd+3,面板图标为身份证样式) - 找到面板中的
User Defined Runtime Attributes板块,点击左下角的+号新增配置项 - 按以下规则依次添加属性,注意匹配对应类型,否则配置不生效:
- Key Path:
layer.shadowColor,Type:Color,Value:选择你需要的阴影颜色 - Key Path:
layer.shadowOpacity,Type:Number,Value:填写0~1之间的数值(对应阴影透明度,默认值为0即完全透明,必须设置大于0的值阴影才会显示,通常填1即可) - Key Path:
layer.shadowOffset,Type:Size,Value:填写阴影偏移值,格式为{水平偏移量, 垂直偏移量},例如{3,3}代表阴影向右、向下各偏移3pt - Key Path:
layer.shadowRadius,Type:Number,Value:填写阴影模糊半径,数值越大阴影边缘越柔和,通常填2~5即可
- Key Path:
如果你要设置的是按钮标题文本本身的阴影颜色,不需要走上面的配置:直接选中按钮,在属性检查器的Text板块中,找到Shadow对应的颜色选择器,设置为目标颜色即可,和你已经找到的文本Shadow Offset配套生效。
代码动态配置参考
如果需要在运行时动态修改按钮阴影,可以直接通过代码操作图层属性:
// Swift 示例代码 yourButton.layer.shadowColor = UIColor.systemGray.cgColor yourButton.layer.shadowOpacity = 0.8 yourButton.layer.shadowOffset = CGSize(width: 2, height: 2) yourButton.layer.shadowRadius = 3
内容的提问来源于stack exchange,提问作者Anton Tropashko
相关产品推荐
相关产品推荐

