iOS线条绘制示例
iOS 的线条绘制,用起来最顺手的还是配合UIView和UIBezierPath搞定的。其实原理蛮,就是你自己手动控制起点和终点,告诉系统:嘿,我要从这里画到那里。要是你刚上手 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
也可以看一看,应该是些更复杂的示例,拿来研究一下也挺值的。
对了,下面这些文章也蛮有用的:
- Swift React UIkit 组件化开发框架
- GRView: 具有 IOS 渐变和其他属性的 UIView
- iOS UIView 滑动切换效果
- UIView 边框扩展 - Swift 实现
- iOS UIKit 控件源码解析
- iPhoneOS 编程指南 UIKit 开发入门
- BaseComponents:Swift 中的可重用 UIKit 组件
如果你是做图形、动画或者交互相关开发的,可以多研究一下UIBezierPath
,你会发现它比你想象的强大多了。
评论区