您好我想从一个UIButton到另一个按钮绘制虚线。
我已经使用此代码在点之间画线:
func addDashedLine(fromPoint start: CGPoint, toPoint end:CGPoint) {
let line = CAShapeLayer()
let linePath = UIBezierPath()
linePath.moveToPoint(start)
linePath.addLineToPoint(end)
line.path = linePath.CGPath
line.strokeColor = UIColor.redColor().CGColor
line.lineWidth = 1
//line.lineJoin = kCALineJoinRound
line.lineDashPattern = [8, 8]
self.view.layer.addSublayer(line)
}
要获取startPoint和Endpoint我使用button.center()作为两个按钮。但是Line并没有从中心到中心。它在UIButton之外画画。我使用了Autolayout按钮,并使用乘数从superview设置约束。
请建议我怎么做。?
答案 0 :(得分:0)
我的建议:
let startPoint = CGPoint(x: button1.frame.origin.x + button1.frame.size.width, y: button1.frame.origin.y + (button1.frame.size.height/2.0))
let endPoint = CGPoint(x: button2.frame.origin.x, y: button2.frame.origin.y + (button2.frame.size.height / 2.0))
addDashedLine(fromPoint start:stratrPoint, toPoint end:endPoint)
修改强>
但是,如果您使用的是AutoLayout,如果您使用的是StackView,则该功能不起作用