Iphone 在mkmapview中显示详图索引,不带标题,仅使用UIButton
我有一个自定义的Iphone 在mkmapview中显示详图索引,不带标题,仅使用UIButton,iphone,objective-c,mkmapview,mkannotation,Iphone,Objective C,Mkmapview,Mkannotation,我有一个自定义的MKAnnotation,我在这里实现title()方法MKAnnotation协议。我的要求是只有标注按钮,没有标题。但问题是,只有当我实现title()方法时,我才能得到带有title和button的callout。若返回的字符串为零,我看不到标注气泡。请为我提供一个解决方案。使用:[yourantationview setCanShowCallout:NO]使用:[YourAnotationView setCanShowCallout:NO]好吧,这有点老套,但很管用。 将
MKAnnotation
,我在这里实现title()
方法MKAnnotation
协议。我的要求是只有标注按钮,没有标题。但问题是,只有当我实现title()方法时,我才能得到带有title和button的callout。若返回的字符串为零,我看不到标注气泡。请为我提供一个解决方案。使用:[yourantationview setCanShowCallout:NO]代码>使用:[YourAnotationView setCanShowCallout:NO]代码>好吧,这有点老套,但很管用。
将标题设置为@“”(空白)以使详图索引弹出,然后您可以用视图包装按钮,并将按钮添加为原点为.x的子视图,无论中心是什么
MKPinAnnotationView* view = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"Null"];
view.canShowCallout = YES;
view.clipsToBounds = NO;
UIView * v = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 50, 30)];
v.clipsToBounds = NO;
v.autoresizingMask = UIViewAutoresizingFlexibleWidth;
UITextField* field = [[UITextField alloc] initWithFrame:CGRectMake(-42, 0, 100, 30)];
field.textAlignment = NSTextAlignmentCenter;
field.clipsToBounds = NO;
field.autoresizingMask = UIViewAutoresizingFlexibleWidth;
field.delegate = self;
[v addSubview:field];
view.rightCalloutAccessoryView = v;
此示例使用UITextField,但它也可以与您的按钮一起使用。嗯,这有点粗糙,但它可以工作。
将标题设置为@“”(空白)以使详图索引弹出,然后您可以用视图包装按钮,并将按钮添加为原点为.x的子视图,无论中心是什么
MKPinAnnotationView* view = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"Null"];
view.canShowCallout = YES;
view.clipsToBounds = NO;
UIView * v = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 50, 30)];
v.clipsToBounds = NO;
v.autoresizingMask = UIViewAutoresizingFlexibleWidth;
UITextField* field = [[UITextField alloc] initWithFrame:CGRectMake(-42, 0, 100, 30)];
field.textAlignment = NSTextAlignmentCenter;
field.clipsToBounds = NO;
field.autoresizingMask = UIViewAutoresizingFlexibleWidth;
field.delegate = self;
[v addSubview:field];
view.rightCalloutAccessoryView = v;
此示例使用UITextField,但也可以使用按钮。这样做会完全隐藏调用,但我的要求是我希望调用带有按钮且没有标题的调用OK,然后您可以保留标题nil或空字符串,如@。返回nil或@不会弹出调用。而是返回@”给出标注,但前面不应该有空格。这样做会完全隐藏标注,但我的要求是我希望标注带有按钮且没有标题OK,然后您可以保留标题nil或类似@的空字符串。返回nil或@不会弹出标注。相反,返回@会给出标注,但前面有空格,不应该在那里。