2012-08-07 138 views
2

我目前正在嘗試刷新或清除我的UIView繪製,但很多方法無法正常工作。我想:如何清除繪圖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?或者至少重新加載它?

回答

3

這裏有幾個基本問​​題。

Draw是如何聲明的?遵循可可命名約定。只有類名應該大寫。類的實例應該以小寫字母開頭。

我想你想要的是:

[draw setNeedsDisplay]; 

欲瞭解更多詳細信息,請參閱查看圖紙週期: http://developer.apple.com/library/ios/documentation/UIKit/Reference/UIView_Class/UIView/UIView.html#//apple_ref/doc/uid/TP40006816-CH3-SW136

獎勵積分,名

@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更具描述性。這是一個東西的視圖,一個包含一些內容的窗口。它不是一個動詞。

+0

其 {CGImageRef cgImage = CGBitmapContextCreateImage(offScreenBuffer); UIImage * uiImage = [[UIImage alloc] initWithCGImage:cgImage]; CGImageRelease(cgImage); [undoManager beginUndoGrouping]; [uiImage drawInRect:self.bounds];} – Freedom4ever 2012-08-07 02:45:18