对自定义大头针进行设置

#import <MapKit/MapKit.h>

#import "MyPointAnnotation.h" //导入自定义的大头针

@interface MyAnnotationView : MKPinAnnotationView {

MyPointAnnotation *myPointAnnotation;

}

@end

#import "MyAnnotationView.h"

@implementation MyAnnotationView

- (instancetype)initWithAnnotation:(id<MKAnnotation>)annotation reuseIdentifier:(NSString *)reuseIdentifier {

if (self = [super initWithAnnotation:annotation reuseIdentifier:reuseIdentifier]) {

//保存参数-传过来的大头针

myPointAnnotation = annotation;

//创建图片

UIImage *image = [UIImage imageNamed:@"pink"];

//这种方式只适合静态图片 ,不适合动态和拖拽动态功能,它们有冲突

//这种方式继承MKAnnotationView 否则没有效果

//        NSData *imageData = UIImagePNGRepresentation(image);

//        //处理imageData 比例5

//        image = [UIImage imageWithData:imageData scale:5];

//        //修改当前视图的大小

//        self.frame = CGRectMake(0, 0, 40, 40);

//        //设置图片

//        self.image = image;

//        //设置填充模式 按比例填满

//        self.contentMode = UIViewContentModeScaleToFill;

UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(-15, -5, 45, 45)];

imageView.image = image;

[self addSubview:imageView];

//允许气泡弹出

self.canShowCallout = YES;

//拖拽

self.draggable = YES;

//下坠动画

self.animatesDrop = YES;

UIButton *leftButton = [UIButton buttonWithType:UIButtonTypeInfoDark];

[leftButton addTarget:self action:@selector(leftButton) forControlEvents:UIControlEventTouchUpInside];

//设置左边访问view

self.leftCalloutAccessoryView = leftButton;

UIButton *rightButton = [UIButton buttonWithType:UIButtonTypeContactAdd];

[rightButton addTarget:self action:@selector(rightButton) forControlEvents:UIControlEventTouchUpInside];

//设置右边访问view

self.rightCalloutAccessoryView = rightButton;

}

return self;

}

- (void)leftButton {

NSLog(@"leftButton:%@",myPointAnnotation.title);

}

- (void)rightButton {

NSLog(@"rightButton:%@",myPointAnnotation.information);

}

时间: 2024-12-09 02:17:25

对自定义大头针进行设置的相关文章

【iOS开发-111】自定义大头针Annotation以及2种导航划线的方法介绍

(1)自定义大头针Annotation的样式,也就是定义view,主要的方法是如下,传递一个大头针annotation模型,然后返回一个MKAnnotationView,这个MKAnnotationView有一个image属性,设置这个属性,就能设置它的样式了. -(MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation{ } 关键提示,这个MKAnnotati

MapKit之大头针全面解析(使用系统大头针、自定义大头针callout视图、使用图片显示大头针)

首先了解一些相关知识点: 添加大头针到地图 在iOS开发中经常会标记某个位置,需要使用地图标注,也就是大家俗称的"大头针".大头针(Annotations)提供了一种方式来突出地图中具体的位置并可以提供相关的信息.我们能够使用大头针标记具体的地址,兴趣点和其他类型的目的地.当显示在地图上的时候,大头针可以使用图片作为标识,也能够点击大头针弹出小弹框提供相应的链接和具体内容.Figure6-1显示了系统标准的大头针样式标记具体的位置,并提供了小弹框显示额外的信息,使用箭头提示用户点击获取

(八十)MapKit放置系统默认大头针和自定义大头针

有关MapView的显示和定位在上一节已经说明,这一节说明如何在地图上放置大头针,以及设置点击大头针的视图. [系统默认大头针] mapView上放置大头针的方法是调用其addAnnotation:方法,需要注意的是,传入的是模型而不是大头针视图. - (void)addAnnotation:(id <MKAnnotation>)annotation; 通过这个方法,我们可以清楚的看到,annotation模型需要遵循MKAnnotation协议,我们打开这个协议,可以看到如下的内容: @pr

iOS 地图中自定义大头针

1.继承MKAnnotationView. HYAnnotationView.h文件: + (instancetype)annotationViewWithMapView:(MKMapView *)mapView; HYAnnotationView.m文件: #import "HYAnnotation.h"//导入大头针model的头文件 @interface HYAnnotationView() @property (nonatomic, weak) UIImageView *ico

MKMapView自定义大头针

如何自定义大头针 ——设置 MKMapView 的代理 实现下面的代理方法,返回大头针控件 - ( MKAnnotationView *)mapView:( MKMapView *)mapView viewForAnnotation:( id< MKAnnotation >)annotation; 根据传进来的 ( id < MKAnnotation >)annotation 参数创建并返回对应的大头针控件 代理方法的使用注意 如果返回 nil ,显示出来的大头针就采取系统的默认样

博客园自定义CSS样式设置

关于博客园自定义CSS样式设置 关于博客园自定义CSS样式设置 首先,选择一个博客皮肤模板,如下 然后,F12审查元素,可对右侧的元素规则进行自定义更改,然后覆盖原CSS 譬如看看取消掉自定义背景图片是什么样子,同理也可以添加CSS样式代码 如此修改完后,就可在页面定制CSS代码框中填上你所需要修改的代码 下面是我的页面定制CSS代码: 1.html,body{2. color: #807C7C;3. font-family: "Helvetica Neue",Helvetica,Ar

Dialog自定义样式的设置

final MyDialog dialog = new MyDialog(CouponsDetailActivity.this,R.style.MyDialogStyle); View view = LayoutInflater.from(CouponsDetailActivity.this).inflate(R.layout.logindialog,null); dialog.setContentView(view); Button sure = (Button) view.findViewB

自定义类属性设置及setter、getter方法的内部实现

属性是可以说是面向对象语言中封装的一个体现,在自定义类中设置属性就相当于定义了一个私有变量.设置器(setter方法)以及访问器(getter方法),其中无论是变量的定义,方法的声明和实现都是系统自动生成的并且经过了相应地内存管理和优化,无需开发者操心. 属性的声明: 属性一般定义在类的接口,或类的延展内,并且放在方法的声明之前,成员变量的声明之后.属性关键字是@property,括号内的是属性的属性,然后是变量的类型和名字,属性的定义一般分为两种情况,一种是非对象类型的变量,如int整型,使用

Racktables(四)的自定义字段高级设置

Racktables的自定义字段高级设置前一篇介绍了racktables相应的配置安装.但在实际的工作环境中仍有许多需要定制的应用.然而Racktables的功能十分强大,系统自带了大部份的设备及相关的配置信息,但毕竟实际环境会有些差距,可以通过自定义的方式达到实用效果.首先要对定义字段可选属性进行说明:可以通过"Main page"-"Configuration"-"Attributes"选项来增加自定义的字段."Attribute