我有一个 viewController 显然是UIViewController
被调用的子类MapViewController
。在这个 viewController 中,我使用 GPS 来获取用户的位置。
我也有一个视图叫做DrawCircle
. 此视图是 的子类UIView
。
使用 drawCircle 我希望能够随时在我的 MapViewController 上绘图。但我不确定我是否理解这样做的概念。我知道我的绘图代码正在工作,我以前使用过它。但我不知道如何MapViewController
使用DrawCircle
.
从我每次打电话时的情况来看,在我看来[myCustomView setNeedsDisplay]
,它并没有调用该DrawRect
方法。
这是一些代码: MapViewController.h
#import "DrawCircle.h"
@interface MapViewController: UIViewController <CLLocationManagerDelegate>{
DrawCircle *circleView;
}
@property (nonatomic, retain) DrawCircle *circleView;
@end
MapViewController.m
#import "DrawCircle.h"
@interface MapViewController ()
@end
@implementation MapViewController
@synthesize circleView;
- (void) viewDidLoad
{
circleView = [[DrawCircle alloc] init];
[self setNeedsDisplay];
[super viewDidLoad];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
}
@end
画圈.m
#import "DrawCircle.h"
@interface DrawCircle()
@end
@implementation DrawCircle
-(id)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if(self) {
}
return self;
}
- (void)drawRect:(CGRect)rect
{
CGContextRef ctx = UIGraphicsGetCurrentContext();
CGPoint point = CGPointMake(40, 137);
CGContextAddEllipseInRect(ctx, CGRectMake(point.x, point.y, 10, 10));
}
CGContextSetFillColor(ctx, CGColorGetComponents([[UIColor redColor] CGColor]));
CGContextFillPath(ctx);
}
此外,如果这对我的思考过程有任何帮助,这里是我的 StoryBoard 场景。
其中viewcontrollers 自定义类是MapViewController,views 自定义类是DrawCircle。
**编辑:**我还想提一下,在我的 DrawCircle.m 中,我有从 MapViewController.m 调用的方法并且正在运行。
还。最初,正在调用 DrawRect 方法,但我无法使用setNeedsUpdate
. 调试的时候连DrawRect方法都没有进入。