zoukankan      html  css  js  c++  java
  • [Swift]iOS开发之UIBezierPath初步使用

    首先熟悉一下BezierPath的用法

    定义path,此处用CGRect为例

    let path = UIBezierPath(rect: CGRectMake(100, 100, 100, 100))
    

     再定义一个Layer

    let myLayer = CAShapeLayer()
    

     将path赋给layer,再加上一些其它属性

    myLayer.path = path.CGPath
    myLayer.fillColor = UIColor.magentaColor().CGColor
    myLayer.strokeColor = UIColor.blackColor().CGColor
    

    最后添加

    view.layer.addSublayer(myLayer)
    

     运行起来得到⬇️效果

    其中path有很多设置方法,下面尝试其它形状

    let path = UIBezierPath(roundedRect: CGRectMake(100, 100, 100, 100), cornerRadius: 10)
    

     

    let path = UIBezierPath(roundedRect: CGRectMake(100, 100, 100, 100), cornerRadius: 50)
    

     

    let path = UIBezierPath(ovalInRect: CGRect(x: 100, y: 100,  100, height: 200))
    

     

    下面也是画圆的path,设置了startAngle和endAngle,注意此处用的是CGFloat!

    let path = UIBezierPath(arcCenter: view.center, radius: 50.0, startAngle: 0.0, endAngle: CGFloat(M_PI * 2), clockwise: true)
    

     

    稍稍改动一下

    let path = UIBezierPath(arcCenter: view.center, radius: 50.0, startAngle: 0.0, endAngle: CGFloat(M_PI), clockwise: true)
    

     

    clockwise是顺时针的意思,改为false试试

    let path = UIBezierPath(arcCenter: view.center, radius: 50.0, startAngle: 0.0, endAngle: CGFloat(M_PI), clockwise: false)
    

     

    这里的startAngle和endAngle都用弧度制表示,下图为方便参考

  • 相关阅读:
    jquery 源码学习(二)
    附加作业2
    附加题1
    实验八:一维数组的应用
    第七次作业总结
    第七次作业
    实验六:函数
    Thanks for your encourage!
    实验五:循环结构
    作业四 分支结构
  • 原文地址:https://www.cnblogs.com/ybw123321/p/5208553.html
Copyright © 2011-2022 走看看