2

現在、描画を更新またはクリアしようとしてUIViewいますが、多くのメソッドが機能していません。私は試した:

  1. self.Draw.clearsContextBeforeDrawing
  2. [self.Draw setNeedsDisplay];
  3. self.Draw.removeFromSuperview;

私のコード:

-(void)drawPoint:(UITouch *)touch 
{

    PointLocation *currentLoc = [[PointLocation alloc] init];

    currentLoc.location = [touch locationInView:self];

    self.previousPoint = self.point;

    self.point = currentLoc;
    [self drawToBuffer];

    [self setNeedsDisplay];
}

uidrawをクリアする方法はありますか?または、少なくともリロードしますか?

4

1 に答える 1

3

ここにはいくつかの基本的な問題があります。

Drawはどのように宣言されますか?カカオの命名規則に従ってください。クラス名のみを大文字にする必要があります。クラスのインスタンスは小文字で始める必要があります。

私はあなたが欲しいものは次のとおりだと思います:

@interface Draw: UIView
@end

@implementation Draw

- (void) drawRect: (CGRect) r {
  // here you will draw whatever you want in your view.
}

@end

Draw* draw;

drawPointメソッドで:

[draw setNeedsDisplay];

詳細については、ビュー描画サイクルを参照してください:http: //developer.apple.com/library/ios/documentation/UIKit/Reference/UIView_Class/UIView/UIView.html#//apple_ref/doc/uid/TP40006816-CH3-SW136

ボーナスポイントについては、ビューに「描画」よりもわかりやすい名前を付けてください。それは何かのビューであり、いくつかのコンテンツを含むウィンドウです。動詞ではありません。

于 2012-08-07T02:41:47.317 に答える