我正在研究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个按钮什么也没做。
任何帮助?
答案 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提出扩展或创建分支,这是一个非常好的控制,你的代码可能有助于使它更好。