0
스위프트, 액세스 부모 속성 내 문제는 내가 자식 클래스 내에서 부모 속성에 액세스하는 방법을 jnow하지는입니다
class imageOverlayRenderer: MKOverlayRenderer {
var bar = self.overlay
}
MKOverlayRenderer 내가 정말 원하는 것은 속성 오버레이
을 가져야한다 이미지를 렌더링하는 MKOverlayRender의 사용자 지정 하위 클래스를 작성, 목표 C의 코드는 다음과 같습니다
#import <MapKit/MapKit.h>
@interface PVParkMapOverlayView : MKOverlayRenderer
- (instancetype)initWithOverlay:(id<MKOverlay>)overlay overlayImage:(UIImage *)overlayImage;
@end
및
,#import "PVParkMapOverlayView.h"
@interface PVParkMapOverlayView()
@property (nonatomic, strong) UIImage *overlayImage;
@end
@implementation PVParkMapOverlayView
- (instancetype)initWithOverlay:(id<MKOverlay>)overlay overlayImage:(UIImage *)overlayImage {
self = [super initWithOverlay:overlay];
if (self) {
_overlayImage = overlayImage;
}
return self;
}
- (void)drawMapRect:(MKMapRect)mapRect zoomScale:(MKZoomScale)zoomScale inContext:(CGContextRef)context {
CGImageRef imageReference = self.overlayImage.CGImage;
MKMapRect theMapRect = self.overlay.boundingMapRect;
CGRect theRect = [self rectForMapRect:theMapRect];
CGContextScaleCTM(context, 1.0, -1.0);
CGContextTranslateCTM(context, 0.0, -theRect.size.height);
CGContextDrawImage(context, theRect, imageReference);
}
@end