如何制作带阴影的半透明按钮?

时间:2015-10-09 14:13:37

标签: ios objective-c core-graphics shadow

我有一个UIButton,需要是白色的,50%透明。在同一时间,我需要阴影。但阴影是一个矩形,它可以通过按钮背景看到。是否有可能用它做点什么?

我现在的代码:

<?xml version="1.0" encoding="UTF-8"?>
<table tabledef="excel">
    <tgroup cols="1">
        <colspec colname="1" colnum="1" colwidth="100%"/>
        <thead>
            <row>
                <entry morerows="1">
                    <p>
                        Text 
                    </p>
                </entry>
        </thead>
        <tbody>
            <row>
                <entry align="left">
                    <p>1</p>
                </entry>
            </row>
        </tbody>
    </tgroup>
</table>

1 个答案:

答案 0 :(得分:0)

有两个初始问题:阴影的形状(最初为矩形),按钮背景颜色与阴影颜色混合。此外,UIColor初始化程序接受范围[0.0,1.0]中的所有参数。最后,我做了一些调整并得到了这个(参见下面的代码和示例按钮)。 代码:

    let shadowPathWidth: CGFloat = 1.0 // fine tune your shadow's width with this
    let layerAndShadowRadius: CGFloat = 5.0 //and its radius with this

    WhiteBtn.backgroundColor = UIColor(red:1, green:1, blue:1, alpha:0.9)
    WhiteBtn.layer.cornerRadius = layerAndShadowRadius
    WhiteBtn.layer.shadowPath = CGPathCreateCopyByStrokingPath(CGPathCreateWithRoundedRect(WhiteBtn.bounds, layerAndShadowRadius, layerAndShadowRadius, nil), nil, shadowPathWidth, CGLineCap.Round, CGLineJoin.Bevel, 0.0)

    WhiteBtn.layer.shadowOpacity = 1.0;
    WhiteBtn.layer.shadowOffset = CGSizeMake(0,0)

示例按钮:

enter image description here