只有UIButton的中心是可点击的

时间:2015-01-30 13:15:16

标签: ios uibutton mkannotationview

我将自定义UIButton添加到MKAnnotationView(" pin"在地图上,而不是#34; bubble"),但是当我只做中心的时候按钮是可点击的。

这是按钮的方法:

- (UIButton *)button: (NSString*)text{
    UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
    [button setFrame:CGRectMake(0, 0, 100, 100)];
    [[button titleLabel] setLineBreakMode:NSLineBreakByWordWrapping];
    text=[NSString stringWithFormat:@"%@",text];
    [button setTitle:text forState:UIControlStateNormal];
}


这里我将它添加到MKAnnotationView:

buildingBtn = [self button:annotations.title];    
[self addSubview:buildingBtn];
buildingBtn.layer.anchorPoint = CGPointMake(1, 1);

任何想法都将不胜感激!

解决方案找到@Muncken:
没有设置MKAnnotationView的框架。通过自己设置,我可以控制可点击的大小。
我还发现将一个UIButton添加到MKAnnotationView是没有意义的,因为MKAnnotationView充当按钮。

2 个答案:

答案 0 :(得分:1)

UIButton的框架可能比MKAnnotationView的框架大。如果是这种情况,按钮将不会接收到注释视图范围之外的位置的任何触摸。

答案 1 :(得分:0)

(问题作者重新发布的答案材料,将其移至答案空间)

已经找到了解决方案,这要感谢@Muncken。

未设置MKAnnotationView的框架。通过自己设置,我可以控制可点击的大小。我还发现,将UIButton添加到MKAnnotationView是没有意义的,因为MKAnnotationView充当按钮。