JPSThumbnailAnnotation 1.0.0

JPSThumbnailAnnotation 1.0.0

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最新发布2014年12月

未知所有者 维护。



  • 作者
  • JP Simard

JPSThumbnailAnnotation 是一个用于展示图片的简单 MapKit 标注视图,具有简洁的设计和动画。它是为 iOS 7 100% 动态绘制和风格化的。

JPSThumbnailAnnotation in action

安装

手动安装

JPSThumbnailAnnotation 文件夹复制到您的 Xcode 项目中,并通过 MapKitQuartzCoreCoreLocation 库进行链接。

使用方法

(请参考 /Demo 中的样本 Xcode 项目)

您只需像添加其他 MKAnnotation 一样添加一个 JPSThumbnailAnnotation。标注接受一个 JPSThumbnail 对象,在特定坐标处显示图片、标题和副标题。您还可以设置一个在展开按钮被点击时运行的代码块。

JPSThumbnail *thumbnail = [[JPSThumbnail alloc] init];
thumbnail.image = [UIImage imageNamed:@"empire.jpg"];
thumbnail.title = @"Empire State Building";
thumbnail.subtitle = @"NYC Landmark";
thumbnail.coordinate = CLLocationCoordinate2DMake(40.75f, -73.99f);
thumbnail.disclosureBlock = ^{ NSLog(@"selected Empire"); };

[mapView addAnnotation:[JPSThumbnailAnnotation annotationWithThumbnail:thumbnail]];

使用说明

确保地图视图实现了以下 3 个 MKMapViewDelegate 方法

- (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view {
    if ([view conformsToProtocol:@protocol(JPSThumbnailAnnotationViewProtocol)]) {
        [((NSObject<JPSThumbnailAnnotationViewProtocol> *)view) didSelectAnnotationViewInMap:mapView];
    }
}

- (void)mapView:(MKMapView *)mapView didDeselectAnnotationView:(MKAnnotationView *)view {
    if ([view conformsToProtocol:@protocol(JPSThumbnailAnnotationViewProtocol)]) {
        [((NSObject<JPSThumbnailAnnotationViewProtocol> *)view) didDeselectAnnotationViewInMap:mapView];
    }
}

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation {
    if ([annotation conformsToProtocol:@protocol(JPSThumbnailAnnotationProtocol)]) {
        return [((NSObject<JPSThumbnailAnnotationProtocol> *)annotation) annotationViewInMap:mapView];
    }
    return nil;
}

许可证

MIT 许可。