본문 바로가기

Programming/iOS

MKMapView에서 구글로고 얻어오기

반응형
지도 어플관련 리젝사유중에 하나인 구글로고가 있습니다.
이 구글로그 이미지를 얻어와서 원하는 위치에 놓는 예제입니다.

참조 : http://nachbaur.com/blog/dealing-with-mkmapviews-google-logo-with-translucent-toolbars

1. MKMapView에 구글로고를 찾는 함수 추가

- MKMapViewAdditions.h
#import <Foundation/Foundation.h>
#import <MapKit/MapKit.h>


@interface MKMapView (Additions)

- (UIImageView*)googleLogo;

@end

- MKMapViewAdditions.m
#import "MKMapViewAdditions.h"

@implementation MKMapView (Additions)

- (UIImageView*)googleLogo {
   
    UIImageView *imgView = nil;
    for (UIView *subview in self.subviews) {
        if ([subview isMemberOfClass:[UIImageView class]]) {
            imgView = (UIImageView*)subview;
            break;
        }
    }
    return imgView;
}

@end


2. 추가한 함수를 일반 View에서 사용하기

위와 같이 함수를 설정하면 MKMapView에 해당 함수가 add되게 됩니다.
위를 활용하기 위해서는 다음과 같이 MkMapView를 로드하면 아래와 같이 googleLogo함수를 사용하실 수 있습니다.

-testViewController.h
#import <UIKit/UIKit.h>
#import <MapKit/MapKit.h>
#import "MKMapViewAdditions.h"

@interface testViewController : UIViewController
{
    MKMapView _mapView;
}
@end


- testViewController.m
@implementation testViewController

- (void) viewDidLoad
{
    UIImageView *logo = [_mapView googleLogo];
}

@end



반응형