我有一个自定义类MKAnnotationView
,我正在尝试以循环方式将 8 个按钮添加到注释中。我已经添加了按钮。它们在视图中的位置非常好,但按钮的动作没有得到调用。为什么没有调用该操作以及解决方案是什么。
-(void)setSelected:(BOOL)selected animated:(BOOL)animated`
{
[super setSelected:selected animated:animated];
if(selected)
{
UIView *circularView = [[UIView alloc]initWithFrame:CGRectMake(-55, -55, 110, 110)];
circularView.tag = 1000;
UIButton *btn1;
UIButton *btn2;
UIButton *btn3;
UIButton *btn4;
UIButton *btn5;
UIButton *btn6;
UIButton *btn7;
btn1 = [UIButton buttonWithType:UIButtonTypeCustom];
[circularView addSubview:btn1];
btn1.userInteractionEnabled = YES;
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]
initWithTarget:self action:@selector(buttonTapped:)];
tap.numberOfTapsRequired = 1;
[btn1 addGestureRecognizer:tap];
btn2 = [UIButton buttonWithType:UIButtonTypeCustom];
[circularView addSubview:btn2];
btn3 = [UIButton buttonWithType:UIButtonTypeCustom];
[circularView addSubview:btn3];
btn4 = [UIButton buttonWithType:UIButtonTypeCustom];
[circularView addSubview:btn4];
btn5 = [UIButton buttonWithType:UIButtonTypeCustom];
[circularView addSubview:btn5];
btn6 = [UIButton buttonWithType:UIButtonTypeCustom];
[circularView addSubview:btn6];
btn7 = [UIButton buttonWithType:UIButtonTypeCustom];
[circularView addSubview:btn7];
[btn1 setBackgroundImage:[UIImage imageNamed:@"message-icon"] forState:UIControlStateNormal];
[btn2 setBackgroundImage:[UIImage imageNamed:@"message-icon"] forState:UIControlStateNormal];
[btn3 setBackgroundImage:[UIImage imageNamed:@"message-icon"] forState:UIControlStateNormal];
[btn4 setBackgroundImage:[UIImage imageNamed:@"message-icon"] forState:UIControlStateNormal];
[btn5 setBackgroundImage:[UIImage imageNamed:@"message-icon"] forState:UIControlStateNormal];
[btn6 setBackgroundImage:[UIImage imageNamed:@"message-icon"] forState:UIControlStateNormal];
[btn7 setBackgroundImage:[UIImage imageNamed:@"message-icon"] forState:UIControlStateNormal];
CGPoint point = CGPointMake(55, 55);
btn1.frame = CGRectMake(point.x - 15.00, point.y - 55.00, 30, 30);
btn2.frame = CGRectMake(point.x + 16.27, point.y - 39.94, 30, 30);
btn3.frame = CGRectMake(point.x + 24.00, point.y - 06.10, 30, 30);
btn4.frame = CGRectMake(point.x + 02.36, point.y + 21.04, 30, 30);
btn5.frame = CGRectMake(point.x - 32.36, point.y + 21.04, 30, 30);
btn6.frame = CGRectMake(point.x - 54.00, point.y - 06.10, 30, 30);
btn7.frame = CGRectMake(point.x - 46.27, point.y - 39.94, 30, 30);
[self addSubview:circularView];
}
else
{
[[self viewWithTag:1000] removeFromSuperview];
}
}
-(void)buttonTapped:(UITapGestureRecognizer*)sender
{
}