在KYCircleMenu中的6个按钮后,操作不再连接

时间:2013-04-16 14:10:20

标签: iphone ios objective-c ipad

我正在研究KYCircleMenu。该库只包含6个按钮,但我希​​望有7个按钮。我设法在屏幕上添加了一个。唯一的问题是它没有采取行动。

以下是library

以下是我制作按钮的方法。

  for (int i = 1; i <= buttonCount_; ++i) {
    UIButton * button = [[UIButton alloc] initWithFrame:buttonOriginFrame_];
    [button setOpaque:NO];
    [button setTag:i];
    imageName = [NSString stringWithFormat:self.buttonImageNameFormat, button.tag];
    [button setImage:[UIImage imageNamed:imageName]
            forState:UIControlStateNormal];
    [button addTarget:self action:@selector(runButtonActions:) forControlEvents:UIControlEventTouchUpInside];
    [self.menu addSubview:button];
  }

runButtonActions仅添加到前6个按钮。我的buttonCount_是7.只有第7个按钮什么也没做。

任何帮助?

1 个答案:

答案 0 :(得分:0)

我猜你的按钮位于可触摸区域之外。

我试图重现你的代码(是的,我很无聊),当我在演示项目中设置第7个按钮时:

[self _setButtonWithTag:7 origin:CGPointMake(centerBallMenuHalfSize + triangleB - buttonRadius + 20, centerBallMenuHalfSize + triangleA - buttonRadius+20)];

它工作正常,但当我设置它时,只是如下所示的其他按钮:

[self _setButtonWithTag:7 origin:CGPointMake(centerBallMenuHalfSize - buttonRadius, centerBallMenuHalfSize + triangleHypotenuse + buttonRadius + 10)];

行动不起作用。

然而,当我向帧高度添加200个像素时(aprox。第153行)

CGRect centerMenuFrame = CGRectMake((viewWidth - menuSize_) / 2, (viewHeight - menuSize_) / 2, menuSize_, menuSize_+200);

它也适用于那种情况。只需确定按钮位置的正确框架,设置它,一切都应该按预期工作。

PS:一旦你完成了考虑为KYCircleMenu提出扩展或创建分支,这是一个非常好的控制,你的代码可能有助于使它更好。