在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
使用UIBezierPath可以创建基于矢量的路径。使用此类可以定义简单的形状,如椭圆、矩形或者有多个直线和曲线段组成的形状等。
画直线
画圆弧(兼职画圆)
除了直接初始化一个圆弧,也可以增加一段圆弧路径(mainPath1.addCurveToPoint:) 初始化时画圆
画赛贝尔曲线
三角形
矩形
//多条路径合并
//CAShapeLayer,可以看做一个动画容器。把UIBezierPath绘制的路径放进去,点就会沿着这路径前进,加上颜色、动画等渲染后显示在界面上
func creatUI(){ let border: CAShapeLayer = CAShapeLayer() //线的颜色 border.strokeColor = UIColor.redColor().CGColor //设置填充色 border.fillColor = UIColor.darkGrayColor().CGColor //虚线大小 border.lineDashPattern = [3,3] //添加到layer self.lineView.layer.addSublayer(border) self.lineView.backgroundColor = UIColor.yellowColor() self.view.addSubview(self.lineView) self.lineView.frame = CGRectMake(100, 100, 100, 100) /*加圆角虚线 roundedRect 这个虚线的frame cornerRadius 切圆的大小 如果为0 则是一条虚线 */ //添加路径1 // border.path = UIBezierPath(roundedRect: CGRectMake(100, 100, 100,100), cornerRadius: 10).CGPath /*给四个角的某一个角加圆角 roundedRect 这个虚线的frame byRoundingCorners 那个角要变圆角 cornerRadius 切圆的大小 如果为0 则是一条虚线 */ //添加路径2 // border.path = UIBezierPath(roundedRect: CGRectMake(0, 0, 100, 100), byRoundingCorners:(UIRectCorner.TopLeft), cornerRadii: CGSizeMake(30, 40)).CGPath //画一条虚线 // 创建path let path = UIBezierPath() // 添加路径[1条点(100,100)到点(200,100)的线段]到path path.moveToPoint(CGPointMake(100, 100)) path.addLineToPoint(CGPointMake(200, 100)) //添加路径3 border.path = path.CGPath //mark-请顺序打开和注释添加路径123 以显示不同的效果 }
PS:苹果官网API - UIBezierPath |
请发表评论