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都用弧度制表示,下图为方便参考

  • 相关阅读:
    测试用例(等价类和边界值方法)
    缺陷报告的组成
    软件测试QA、QC、QM的关系与区别
    软件的开发模式
    软件工程及生命周期
    互联网产品类型与产品工具
    canvas 时钟
    test2
    test121212
    关于iOS和OS X废弃的API你需要知道的一切
  • 原文地址:https://www.cnblogs.com/ybw123321/p/5208553.html
Copyright © 2011-2022 走看看