検索

ホームページ  >  に質問  >  本文

ios - 如何在layer上实现橡皮擦一样的功能呢

比如,我在shapelayer上绘制了一条颜色是红色的UIbezierPath。如何想橡皮擦一样可以擦掉这条线

黄舟黄舟2886日前779

全員に返信(1)返信します

  • 大家讲道理

    大家讲道理2017-04-17 16:41:18

    1. 背景として画像がある場合は、その画像をベジェパス上にパターンとして描画すると、仮想的に消しゴム効果が得られます。それは機能します:)
      BrushPattern=[[UIColor alloc]initWithPatternImage:[UIImage imageNamed:@"image.jpg"]];

    // ここで image.jpg は背景画像です

    1. 消しゴムは、遠くに描かれたパスの背景の上に、それぞれ 1 色の線を効果的に描画します。注意したいのは、これは消しゴム線なので、背景色が変わった場合、消しゴムが失われる場合は、消しゴム線のストロークの色を更新できることです。

    2. Jeremy への回答によると、点線を実行しようとしているようです。 setLineDash:number:phase:
      UIBezierPath *path = [UIBezierPath new];

    CGFloat dumpArray[3];
    dashArray[0] = 8;
    dashArray[1] = 3;
    dashArray[2] = 8;
    [パス setLineDash:dashArray count:dashCount位相: 0.0];

    返事
    0
  • キャンセル返事