iOS线条绘制示例

iOS 的线条绘制,用起来最顺手的还是配合UIViewUIBezierPath搞定的。其实原理蛮,就是你自己手动控制起点和终点,告诉系统:嘿,我要从这里画到那里。要是你刚上手 Swift,这段代码还挺适合练手的,画一条直线、调一下颜色和粗细,响应也快,效果也清爽。

自定义一个UIView子类,重写draw(_:),就能玩起来了。比如:

import UIKit

class LineView: UIView { override func draw(_ rect: CGRect) { super.draw(rect) let strokeColor = UIColor.red strokeColor.setStroke()

let path = UIBezierPath() path.move(to: CGPoint(x: 50, y: 50)) path.addLine(to: CGPoint(x: rect.width - 50, y: rect.height - 50)) path.lineWidth = 2.0 path.stroke() } }

像上面这样就能画一条斜线,简单直接。你要是想搞互动,可以结合touchesMoved(_:with:)啥的,把路径做成动态的。每次触摸更新点,setNeedsDisplay()一刷就行。

除了UIView + UIBezierPath,其实CALayer也能画,不过说实话,前者更灵活、好调试。蛮适合写 demo 或者小工具。你要是还在找练习素材,压缩包里的10-Lines也可以看一看,应该是些更复杂的示例,拿来研究一下也挺值的。

对了,下面这些文章也蛮有用的:

如果你是做图形、动画或者交互相关开发的,可以多研究一下UIBezierPath,你会发现它比你想象的强大多了。

zip 文件大小:241.94KB