我在我的.h文件中有一个像这样配置的按钮:
- (IBAction)addBusiness:(id)sender;
@property (weak, nonatomic) IBOutlet UIButton *planBusinessButton;
然后我在我的.m文件中执行此操作:
- (IBAction)addBusiness:(id)sender
{
NSLog(@"Plan business clicked 1");
}
- (IBAction)planBusinessButton:(id)sender
{
NSLog(@"Plan business clicked 1");
}
但在我的onLoad中,我做了类似的事情:
CGPoint pt = planBusinessButton.center;
pt.y -= 275;
planBusinessButton.center = pt;
问题是当我点击按钮时,按钮点击没有在IBAction中触发。
更改按钮的位置是否会影响按钮未被点击的原因?
为什么按钮点击不会在IBAction中触发?
谢谢!
答案 0 :(得分:3)
编辑:移动按钮不应该影响它的动作射击,除非它从视图移开或低于其他可以拦截水龙头的视图。
如果点击未触发按钮,请检查:
尽量避免在viewDidLoad方法中进行任何视图修改,因为视图尚未就绪... 相反,尝试在viewDidAppear方法中设置按钮中心。
答案 1 :(得分:3)
可能。手势识别器可以处理按钮移动到的位置中的事件,或者可能有另一个视图阻挡新位置处的按钮,您需要将按钮带到前面。此外,如果您希望事件触发它,您应该将其放入viewDidAppear或IBAction。
答案 2 :(得分:1)
确保您的planBusinessButton.frame不在其超级框架之外。 例如:如果按钮的框架像这样(0,-200,100,200),当按钮添加到其超级视图时,它将不会处理点击事件。