关闭

UIBezierPath绘制图形的常用方法详解

标签: uibezierpath图形
776人阅读 评论(0) 收藏 举报
分类:

            1、绘制一个矩形的曲线:

           方法

+ (UIBezierPath*)bezierPathWithRect:(CGRect)rect

                        效果如下


      

      2、绘制一个矩形框内的内切圆:

           方法

+ (UIBezierPath*)bezierPathWithOvalInRect:(CGRect)rect
                        效果如下



       3、根据矩形画圆角的矩形:

            方法

+ (UIBezierPath*)bezierPathWithRoundedRect:(CGRect)rect cornerRadius:(CGFloat)cornerRadius
                          效果如下



      4、在矩形中针对四个角中的某个角加圆角:

           方法

+ (UIBezierPath *)bezierPathWithRoundedRect:(CGRect)rect byRoundingCorners:(UIRectCorner)corners cornerRadii:(CGSize)cornerRadii
                        效果如下


           corners是枚举值,包括UIRectCornerTopLeft、UIRectCornerTopRight、UIRectCornerBottomLeft、UIRectCornerBottomRight、UIRectCornerAllCorners;cornerRadii是圆角的大小。


      5、以某个中心点画圆弧:

           方法

+ (instancetype)bezierPathWithArcCenter:(CGPoint)center radius:(CGFloat)radius startAngle:(CGFloat)startAngle endAngle:(CGFloat)endAngle clockwise:(BOOL)clockwise;
                        效果如下


         其中center是弧线中心点的坐标,radius是弧线所在圆的半径,startAngle是弧线开始的角度值,endAngle是弧线结束的角度值,clockwise是否顺时针画弧线。


       6、画二元曲线:

            方法

- (void)addQuadCurveToPoint:(CGPoint)endPoint controlPoint:(CGPoint)controlPoint;
                          效果如下


           具体代码如下

UIBezierPath *thePath = [UIBezierPath bezierPath];
    [thePath moveToPoint:CGPointMake(10, 100)];
    [thePath addQuadCurveToPoint:CGPointMake(120, 100) controlPoint:CGPointMake(100, 200)];
      

      7、画两个控制点的曲线:

           方法

- (void)addCurveToPoint:(CGPoint)endPoint controlPoint1:(CGPoint)controlPoint1 controlPoint2:(CGPoint)controlPoint2;
                        效果如下


           具体代码如下

UIBezierPath *thePath = [UIBezierPath bezierPath];
    [thePath moveToPoint:CGPointMake(10, 100)];
    [thePath addCurveToPoint:CGPointMake(200, 100) controlPoint1:CGPointMake(60, 70) controlPoint2:CGPointMake(80, 200)];


1
0
查看评论

iOS图形绘制UIBezierPath篇

1、绘制直线UIBezierPath *line = [[UIBezierPath alloc] init]; //设置线宽 line.lineWidth = 3; [line moveToPoint:CGPointMake(50, 20)]; [line addLineToPoint:CGPoin...
  • yangshebing21
  • yangshebing21
  • 2016-05-14 23:56
  • 1110

CAShapeLayer与UIBezierPath绘制图形

使用CAShapeLayer与UIBezierPath可以实现不在view的drawRect方法中就画出一些想要的图形 步骤: 1、新建UIBezierPath对象bezierPath 2、新建CAShapeLayer对象caShapeLayer 3、将bezie...
  • xsh841272293
  • xsh841272293
  • 2015-08-13 12:09
  • 136

iOS 使用UIBezierPath 绘制图形

这篇文章介绍UIBezierPath的详细的使用, 以及一些细节! 创建一个XTBezierPath集成于UIView的类 使用drawRect 完成图形的绘制 在drawRect方法完成绘制 使用 moveToPoint, addLineToPoint两个方法绘制一个任意多边形 其中w,...
  • sinat_30162391
  • sinat_30162391
  • 2017-04-01 00:15
  • 798

Swift CAShapeLayer,UIBezierPath绘制图形

1、绘制矩形 //利用CAShapeLayer绘图一个简单的矩形 let layer=CAShapeLayer() layer.frame=CGRectMake(110, 100, 150, 100) layer.backgroundColor=UI...
  • zww1984774346
  • zww1984774346
  • 2016-03-06 18:31
  • 2259

UIBezierPath 贝塞尔曲线 绘制图形

UIBezierPath 继承与NSObject,现在新建一个UIView ,并初始化, - (instancetype)initWithFrame:(CGRect)frame {     self = [super initWithFrame:frame]; ...
  • wyy520pro
  • wyy520pro
  • 2016-07-20 09:59
  • 278

使用UIBezierPath绘制图形

如果效果图 具体 实现方法: 在UIView的子类中重写- (void)drawRect:(CGRect)rect;方法 - (void)drawRect:(CGRect)rect {     CGContextRef context = UIGraphicsGetCu...
  • haoxuliangdev
  • haoxuliangdev
  • 2013-08-07 11:46
  • 1134

iOS 使用UIBezierPath与CABasicAnimation绘制图形

由于项目需要,最近接触了一些绘图的知识,现在记录下来学习过程。 首先看一下效果图:  UIBezierPath对象是CGPathRef数据类型的封装。path如果是基于矢量形状的,都用直线和曲线段去创建。 首先来看左边柱状图的实现: 1.创建和使用一个path对象的过程是分开的。...
  • TyroneWing
  • TyroneWing
  • 2016-01-08 16:25
  • 1274

使用 UIBezierPath+CAShapeLayer 实现不在View层绘制自定义图形

也无风雨也无晴 点点滴滴 目录视图摘要视图订阅 博客专家福利     公告:CSDN下载频道11月4日-5日维护     &#...
  • iOSDING
  • iOSDING
  • 2014-11-06 12:41
  • 1508

UIBezierPath贝塞尔弧线常用方法

UIBezierPath贝塞尔弧线常用方法记  //根据一个矩形画曲线 + (UIBezierPath *)bezierPathWithRect:(CGRect)rect //根据矩形框的内切圆画曲线 + (UIBezierPath *)bezierPathWithOvalInR...
  • u014641631
  • u014641631
  • 2014-12-01 19:21
  • 955

计算UIBezierPath 路径内、路径上的点

计算UIBezierPath路径上所有坐标点和路径内像素点个数
  • xiaozuoren08
  • xiaozuoren08
  • 2016-01-05 21:37
  • 473
    个人资料
    • 访问:80678次
    • 积分:1167
    • 等级:
    • 排名:千里之外
    • 原创:32篇
    • 转载:6篇
    • 译文:0篇
    • 评论:45条
    最新评论