我试图一次实现两个子类。
我正在使用UIViewController <CLLocationManagerDelegate>
我的 viewController 中的子类来使用 gps。在使用UIView
子类进行绘制时。
这是我拥有的代码的摘要:
MapViewController.h:
@interface MapViewController: UIViewController <CLLocationManagerDelegate>{
DrawCircle *circleView;
}
@property (nonatomic, retain) DrawCircle *circleView;
@end
画圈.h:
@interface DrawCircle : UIView
-(void)addPoint:(CGPoint)point;
@end
我在这里尝试做的是让 DrawCircle 成为 MapViewController 的一个属性。但是,我仍然没有运气在屏幕上绘制任何东西。
这是我的 DrawCircle.m 代码,如果它有帮助的话:
-(id)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if(self) {
_points = [[NSMutableArray alloc] init];
}
return self;
}
-(void)addPoint:(CGPoint)point {
//Wrap the point in an NSValue to add it to the array
[_points addObject:[NSValue valueWithCGPoint:point]];
//This will tell our view to redraw itself, calling drawRect
[self setNeedsDisplay];
}
- (void)drawRect:(CGRect)rect
{
CGContextRef ctx = UIGraphicsGetCurrentContext();
for(NSValue *pointValue in _points) {
CGPoint point = [pointValue CGPointValue];
CGContextAddEllipseInRect(ctx, CGRectMake(point.x - 10, point.y - 10, 20, 20));
}
CGContextSetFillColor(ctx, CGColorGetComponents([[UIColor redColor] CGColor]));
CGContextFillPath(ctx);
}
作为最后一点信息,我可以给大家。这是我的地图视图控制器场景的快照。
我有一种感觉,形状正在被绘制,但不知何故被掩盖了。
编辑 经过进一步调查,我的 UIImage 似乎覆盖了正在绘制的形状。我只是在乱搞并删除了 UIImage,我的形状就在那里。现在的问题是,我如何“向后移动”我的 UIImage,以便我的形状在前面?