[英]make profile details page UI like screenshot?
我在UIBezierPath和CAShapeLayer中尋求幫助,以畫出一個半個條紋並查看個人資料(如屏幕截圖)。
我做下面的代碼,但它繪制了整個三角形。
let triangleLayer = CAShapeLayer()
let trianglePath = UIBezierPath()
trianglePath.move(to: .zero)
trianglePath.addLine(to: CGPoint(x: -size, y: up ? size : -size))
trianglePath.addLine(to: CGPoint(x: size, y: up ? size : -size))
trianglePath.close()
triangleLayer.path = trianglePath.cgPath
triangleLayer.fillColor = UIColor.red.cgColor
triangleLayer.anchorPoint = .zero[![enter image description here][1]][1]
triangleLayer.position = CGPoint(x: x, y: y)
subview.layer.addSublayer(triangleLayer)
給路徑上的點命名可以非常有幫助:
subview.backgroundColor = .blue
let triangleLayer = CAShapeLayer()
let trianglePath = UIBezierPath()
let w = subview.bounds.size.width
let h = subview.bounds.size.height
// move to Top-Left corner
trianglePath.move(to: .zero)
// line to Top-Right corner
trianglePath.addLine(to: CGPoint(x: w, y: 0))
// line to Right-Side, 75% of height
trianglePath.addLine(to: CGPoint(x: w, y: h * 0.75))
// line to Bottom-Left corner
trianglePath.addLine(to: CGPoint(x: 0, y: h))
trianglePath.close()
triangleLayer.path = trianglePath.cgPath
triangleLayer.fillColor = UIColor.red.cgColor
triangleLayer.anchorPoint = .zero
subview.layer.addSublayer(triangleLayer)
將導致:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.