zoukankan      html  css  js  c++  java
  • ios 动画系列之六------UIBezierPath贝塞尔弧线常用方法记

    //根据一个矩形画曲线

    + (UIBezierPath *)bezierPathWithRect:(CGRect)rect

     

    //根据矩形框的内切圆画曲线

    + (UIBezierPath *)bezierPathWithOvalInRect:(CGRect)rect

     

    //根据矩形画带圆角的曲线

    + (UIBezierPath *)bezierPathWithRoundedRect:(CGRect)rect cornerRadius:(CGFloat)cornerRadius

     

    //在矩形中,可以针对四角中的某个角加圆角

    + (UIBezierPath *)bezierPathWithRoundedRect:(CGRect)rect byRoundingCorners:(UIRectCorner)corners cornerRadii:(CGSize)cornerRadii

    参数:

    corners:枚举值,可以选择某个角

    cornerRadii:圆角的大小

     
    //以某个中心点画弧线 
    + (UIBezierPath *)bezierPathWithArcCenter:(CGPoint)center radius:(CGFloat)radius startAngle:(CGFloat)startAngle endAngle:(CGFloat)endAngle clockwise:(BOOL)clockwise;

    参数:

    center:弧线中心点的坐标

    radius:弧线所在圆的半径

    startAngle:弧线开始的角度值

    endAngle:弧线结束的角度值

    clockwise:是否顺时针画弧线

     

    //画二元曲线,一般和moveToPoint配合使用

    - (void)addQuadCurveToPoint:(CGPoint)endPoint controlPoint:(CGPoint)controlPoint

    参数:

    endPoint:曲线的终点

    controlPoint:画曲线的基准点

    例子:UIBezierPath *movePath = [UIBezierPath bezierPath];     

          CGPoint fromPoint = self.imageView.center;     

          CGPoint endPoint = CGPointMake(280, 400);    

          [movePath moveToPoint:fromPoint];    //开始点

          [movePath addQuadCurveToPoint:endPoint controlPoint:CGPointMake(280,0)]; //画二元曲线,结束点、控制点

     

     

    //以三个点画一段曲线,一般和moveToPoint配合使用

    - (void)addCurveToPoint:(CGPoint)endPoint controlPoint1:(CGPoint)controlPoint1 controlPoint2:(CGPoint)controlPoint2

    参数:

    endPoint:曲线的终点

    controlPoint1:画曲线的第一个基准点

    controlPoint2:画曲线的第二个基准点

     

    //自己创建一段曲线

    UIBezierPath *path = [UIBezierPath bezierPath];
    [path moveToPoint:CGPointMake(0, 100)];//开始点
    [path addLineToPoint:CGPointMake(300, 100)];//向这条线上加点

    [path addLineToPoint:CGPointMake(300, 200)];
       

  • 相关阅读:
    css 两边是线,中间文字的多种实现方法
    vue provide/inject 父组件如何给孙子组件传值
    Mac版本的 Axure rp8 不显示菜单栏
    mac 如何卸载node和npm采坑之旅
    css3 鼠标悬停图片动画
    css3 一个六边形 和 放大旋转动画DEMO演示
    js drag drop 收藏夹拖拽移除的简单例子
    css 折角效果/切角效果
    css 给图片添加滤镜效果,透明层毛玻璃效果
    c# udp通讯实现
  • 原文地址:https://www.cnblogs.com/wyqfighting/p/3208078.html
Copyright © 2011-2022 走看看