UIButton 左右两侧边框

kel*_*ikh 1 uibutton ios swift swift2

我一直无法在三个按钮之间设置边框或阴影来显示一些分隔。我尝试在中间按钮的左侧和右侧添加边框或阴影,但只能在一侧获得阴影。任何帮助是极大的赞赏。

我试图让用户获得阴影,但只显示在右侧:

    middleButton.layer.backgroundColor = UIColor.whiteColor().CGColor
    middleButton.layer.borderColor =  UIColor(red: 208/255, green: 208/255, blue: 208/255, alpha: 1.0).CGColor
    middleButton.layer.borderWidth = 0.0
    middleButton.layer.masksToBounds = false
    middleButton.layer.shadowColor = UIColor(red: 208/255, green: 208/255, blue: 208/255, alpha: 1.0).CGColor
    middleButton.layer.shadowOffset = CGSizeMake(0.5, 1.0)
    middleButton.layer.shadowOpacity = 1.0
    middleButton.layer.shadowRadius = 1.0
Run Code Online (Sandbox Code Playgroud)

下面是我当前的视图,其中包含三个按钮,我试图在它们之间添加分隔符:

在此输入图像描述

我在表格单元格中的层次结构:

在此输入图像描述

Uda*_*Sri 5

斯威夫特 3 个回答

您可以为 UIButton 进行扩展

extension UIButton {

 func addRightBorder(borderColor: UIColor, borderWidth: CGFloat) {
    let border = CALayer()
    border.backgroundColor = borderColor.cgColor
    border.frame = CGRect(x: self.frame.size.width - borderWidth,y: 0, width:borderWidth, height:self.frame.size.height)
    self.layer.addSublayer(border)
 }

 func addLeftBorder(color: UIColor, width: CGFloat) {
    let border = CALayer()
    border.backgroundColor = color.cgColor
    border.frame = CGRect(x:0, y:0, width:width, height:self.frame.size.height)
    self.layer.addSublayer(border)
 }
}
Run Code Online (Sandbox Code Playgroud)

然后您可以将其用于任何按钮。

middleButton.addRightBorder(borderColor: UIColor.white, borderWidth: 1.0)

middleButton.addLeftBorder(borderColor: UIColor.white, borderWidth: 1.0)
Run Code Online (Sandbox Code Playgroud)

应该可以正常工作。快乐编码!