2
UIView
にジグザグ形状を作っていますが、ビューサイズを大きくすると正しく表示されません。 iOSアプリの形
UIBezierPath
を使用して描画しているとき、私は、あなたのコードを修正し、このコード
func zigZagShape() {
let width = self.frame.size.width
let height = self.frame.size.height
let givenFrame = self.frame
let zigZagWidth = CGFloat(6)
let zigZagHeight = CGFloat(4)
var yInitial = height-zigZagHeight
let zigZagPath = UIBezierPath(rect: givenFrame)
zigZagPath.move(to: CGPoint(x:0, y:0))
zigZagPath.addLine(to: CGPoint(x:0, y:yInitial))
var slope = -1
var x = CGFloat(0)
var i = 0
while x < width {
x = zigZagWidth * CGFloat(i)
let p = zigZagHeight * CGFloat(slope)
let y = yInitial + p
let point = CGPoint(x: x, y: y)
zigZagPath.addLine(to: point)
slope = slope*(-1)
i += 1
}
zigZagPath.addLine(to: CGPoint(x:width,y: 0))
yInitial = 0 + zigZagHeight
x = CGFloat(width)
i = 0
while x > 0 {
x = width - (zigZagWidth * CGFloat(i))
let p = zigZagHeight * CGFloat(slope)
let y = yInitial + p
let point = CGPoint(x: x, y: y)
zigZagPath.addLine(to: point)
slope = slope*(-1)
i += 1
}
let shapeLayer = CAShapeLayer()
shapeLayer.path = zigZagPath.cgPath
self.layer.mask = shapeLayer
}
ズームコードを共有する – Baig
小さなビューを追加して上のコードを追加したか、ビューコントローラのビューを使用していますか? – Myaaoonn
以下の解決策をご確認ください..... – Dhiru