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

  • 相关阅读:
    e.target和e.event和event.srcElement
    js代码优化
    史上最全的CSS hack方式一览
    学习NodeJS第一天:node.js引言
    响应式布局
    HTML+CSS编写规范
    英文SEO外部链接资源收集之常用的footprints
    判别木马
    php简单命令代码集锦
    zencart 新页面调用好功能代码集:
  • 原文地址:https://www.cnblogs.com/ybw123321/p/5208553.html
Copyright © 2011-2022 走看看