Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 在mkmapview中显示详图索引,不带标题,仅使用UIButton_Iphone_Objective C_Mkmapview_Mkannotation - Fatal编程技术网

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或@不会弹出标注。相反,返回@会给出标注,但前面有空格,不应该在那里。