虚线直到 uiview 中才结束
dotted line is not coming till the end in uiview
我正在尝试创建虚线,我已尝试使用以下代码:
private func createDottedView(for view:UIView) {
let width: CGFloat = 1
let color: CGColor = UIColor.black.cgColor
let caShapeLayer = CAShapeLayer()
caShapeLayer.strokeColor = color
caShapeLayer.lineWidth = width
caShapeLayer.lineDashPattern = [9,3]
let cgPath = CGMutablePath()
let cgPoint = [CGPoint(x: view.layer.bounds.minX, y: 0), CGPoint(x: view.layer.bounds.maxX, y: 0)]
cgPath.addLines(between: cgPoint)
caShapeLayer.path = cgPath
view.layer.addSublayer(caShapeLayer)
}
但是这不会一直到最后,我怎样才能得到这条虚线直到最后?
我们可以在 UIView 上添加 trailing
和 leading
约束,如下所示 storyboard
。
Added constrainsts to the lineView
Output of dotted UIView
由于 CAShapeLayer(),您可以使用将 uiview 设为虚线的图像
它可能会导致此类问题。所以你可以只下载一个类似的图像并将图像视图放在 uiview 中并使用图像使其缩放以填充它应该工作。
或者,如果您只想通过编码来完成此操作,您可以使用给定的代码实时更改代码,其余代码将正常工作。
let cgPoint = [CGPoint(x: view.layer.bounds.minX, y: 0), CGPoint(x:
view.layer.bounds.maxX+40, y: 0)]
我正在尝试创建虚线,我已尝试使用以下代码:
private func createDottedView(for view:UIView) {
let width: CGFloat = 1
let color: CGColor = UIColor.black.cgColor
let caShapeLayer = CAShapeLayer()
caShapeLayer.strokeColor = color
caShapeLayer.lineWidth = width
caShapeLayer.lineDashPattern = [9,3]
let cgPath = CGMutablePath()
let cgPoint = [CGPoint(x: view.layer.bounds.minX, y: 0), CGPoint(x: view.layer.bounds.maxX, y: 0)]
cgPath.addLines(between: cgPoint)
caShapeLayer.path = cgPath
view.layer.addSublayer(caShapeLayer)
}
但是这不会一直到最后,我怎样才能得到这条虚线直到最后?
我们可以在 UIView 上添加 trailing
和 leading
约束,如下所示 storyboard
。
Added constrainsts to the lineView
Output of dotted UIView
由于 CAShapeLayer(),您可以使用将 uiview 设为虚线的图像 它可能会导致此类问题。所以你可以只下载一个类似的图像并将图像视图放在 uiview 中并使用图像使其缩放以填充它应该工作。
或者,如果您只想通过编码来完成此操作,您可以使用给定的代码实时更改代码,其余代码将正常工作。
let cgPoint = [CGPoint(x: view.layer.bounds.minX, y: 0), CGPoint(x:
view.layer.bounds.maxX+40, y: 0)]