类规则:uiview{
覆盖func draw(rect:cgrect){
设t:cgfloat=15
设g:cgfloat=30
设w=rect.size.width
设h=rect.size.height
guard let c=uigraphicsgetcurrentContext()其他返回
c.设置笔划颜色(uicolor.orange.cgcolor)
c.设定线宽度(t)
变量P=—(W>H?W:H)-T
而P<=W{
c.移动(到:cgpoint(x:p-t,y:-t))。
C.添加线(到:cg点(x:p+t+h,y:t+h))
c.行程路径()
P+=g+t+t
}
}
}
享受。
请注意,显然,您会剪辑该视图。
如果您想在屏幕上或以某种模式显示它们的数量,只需执行该操作即可。
要剪辑到给定的矩形:
上面的类只是将其绘制为“uiview的大小”。
然而,通常情况下,您希望在视图中以不同的坐标实际绘制一些“框”。(日历就是一个很好的例子)。

此外,此示例显式地绘制“两条条纹”,而不是在背景色上绘制一条条纹:
func simpleStripes(x:cgfloat,y:cgfloat,width:cgfloat,height:cgfloat){
让stripewidth:cgfloat=20.0
设m=stripewidth/2.0
guard let c=uigraphicsgetcurrentContext()其他返回
c.setLinewidth(条纹宽度)
设r=cgrct(x:x,y:y,width:width,height:height)
让longerside=width>height?宽度:高度
c.存储状态()
C.夹子(至:R)
变量p=x-长边
而P<=X+宽度{
C.设置行程颜色(浅蓝色)
c.移动(到:cgpoint(x:p-m,y:y-m))。
C.添加线(到:cg点(x:p+m+高度,y:y+m+高度)
c.行程路径()
P+=条纹宽度
C.设置行程颜色(浅灰色)
c.移动(到:cgpoint(x:p-m,y:y-m))。
C.添加线(到:cg点(x:p+m+高度,y:y+m+高度)
c.行程路径()
P+=条纹宽度
}
C.还原状态()
}
享受吧。
请注意,很明显,您将剪切该视图。
如果你想在屏幕上或者以一种模式显示它们的数量,就这么做。
要剪切到给定的矩形:
上面的类只是将其绘制为“uiview的大小”。
然而,通常情况下,您希望在视图中以不同的坐标实际绘制一些“框”。(日历就是一个很好的例子)。

此外,此示例显式绘制“两条条纹”,而不是在背景色上绘制一条条纹:
func simpleStripes(x: CGFloat, y: CGFloat, width: CGFloat, height: CGFloat) {
let stripeWidth: CGFloat = 20.0
let m = stripeWidth / 2.0
guard let c = UIGraphicsGetCurrentContext() else { return }
c.setLineWidth(stripeWidth)
let r = CGRect(x: x, y: y, width: width, height: height)
let longerSide = width > height ? width : height
c.saveGState()
c.clip(to: r)
var p = x - longerSide
while p <= x + width {
c.setStrokeColor(pale blue)
c.move( to: CGPoint(x: p-m, y: y-m) )
c.addLine( to: CGPoint(x: p+m+height, y: y+m+height) )
c.strokePath()
p += stripeWidth
c.setStrokeColor(pale gray)
c.move( to: CGPoint(x: p-m, y: y-m) )
c.addLine( to: CGPoint(x: p+m+height, y: y+m+height) )
c.strokePath()
p += stripeWidth
}
c.restoreGState()
}