objective-c - 如何清除绘制 uiview?

标签 objective-c ios cocoa-touch drawing draw

我目前正在尝试刷新或清除我的 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 吗?或者至少重新加载它?

最佳答案

这里有一些基本问题。

Draw 是如何声明的?遵循 cocoa 命名约定。只有类名应该大写。类的实例应以小写字母开头。

我认为你想要的是:

@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];

有关更多详细信息,请参阅 View 绘制周期: http://developer.apple.com/library/ios/documentation/UIKit/Reference/UIView_Class/UIView/UIView.html#//apple_ref/doc/uid/TP40006816-CH3-SW136

为了获得奖励积分,请将您的 View 命名为比“绘制”更具描述性的名称。它是某事物的 View ,是包含某些内容的窗口。它不是动词。

关于objective-c - 如何清除绘制 uiview?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11838418/

相关文章:

c# - Monotouch守护程序应用程序

ios - iOS以NSString获取用户位置

ios - 在 iOS 7 上使用 A Person ViewController 重新加载/更改显示的人

ios - 内存警告导致崩溃

iphone - 用 Objective-C 以外的任何语言开发 iPhone 应用程序真的是可行的解决方案吗?

objective-c - 图像从 WebView 拖到 IKImageView 上

objective-c - 动态读取和过滤 XML 文件

javascript - CSS 或 Javascript 中是否有任何方法可以判断用户是否正在将 iPad 上的 HTML 页面作为 Web 应用程序查看?

iphone - iOS SDK - iPhone 音频插孔如何与连接的电缆交互?

ios - 背景音频播放 - 应用程序被拒绝