Я не уверен, что вы можете сделать это с фактической границей ярлыка. Но но вы можете сделать что-то похожее на это
public enum UIButtonBorderSide {
case Top, Bottom, Left, Right
}
extension UIButton {
public func addBorder(side: UIButtonBorderSide, color: UIColor, width: CGFloat) {
let border = CALayer()
border.backgroundColor = color.CGColor
switch side {
case .Top:
border.frame = CGRect(x: 0, y: 0, width: frame.size.width, height: width)
case .Bottom:
border.frame = CGRect(x: 0, y: self.frame.size.height - width, width: self.frame.size.width, height: width)
case .Left:
border.frame = CGRect(x: 0, y: 0, width: width, height: self.frame.size.height)
case .Right:
border.frame = CGRect(x: self.frame.size.width - width, y: 0, width: width, height: self.frame.size.height)
}
self.layer.addSublayer(border)
}
}
Thats for UIButton, но вы, вероятно, можете легко его адаптировать.
Источника: https://gist.github.com/Isuru-Nanayakkara/496d5713e61125bddcf5
Надеется, что это помогает
Возможный дубликат [CALayer: добавить границу только в одну сторону] (http://stackoverflow.com/questions/7022656/calayer-add-a-border -только-на-один-сторона) –