2012-08-07 83 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