我有自定义MKAnnotation
实现协议title()
方法的地方MKAnnotation
。我的要求是只有带有按钮且没有标题的标注。但问题是,只有当我实现 title() 方法时,我才能获得带有标题和按钮的标注。如果返回的字符串为零,我看不到标注气泡。请给我一个解决方案。
问问题
532 次
2 回答
1
好吧,它有点骇人听闻,但它确实有效。将标题设置为@“”(空白)只是为了使标注弹出,然后你可以用视图包装你的按钮,并将按钮添加为带有 origin.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 一起使用,但它也适用于您的按钮。
于 2014-02-17T17:13:37.203 回答
0
利用 :[YourAnotationView setCanShowCallout:NO];
于 2012-08-09T09:46:29.913 回答