UIViewController
明らかに呼び出されたのサブクラスであるviewControllerがあり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
DrawCircle.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 シーンです。
ビューコントローラーのカスタム クラスは MapViewController で、ビューのカスタム クラスは DrawCircle です。
**編集:** また、DrawCircle.m には、MapViewController.m から呼び出しているメソッドがあり、機能していることにも言及したいと思います。
また。最初に、DrawRect メソッドが呼び出されていますが、手動で呼び出すことができませんsetNeedsUpdate
。デバッグ時は DrawRect メソッドにも入っていません。