ios - 我改变坐标后按钮没有响应点击

时间:2012-07-30 22:38:29

标签: ios ios5

我在我的.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中触发?

谢谢!

3 个答案:

答案 0 :(得分:3)

编辑:移动按钮不应该影响它的动作射击,除非它从视图移开或低于其他可以拦截水龙头的视图。

如果点击未触发按钮,请检查:

  • IB连接已正确连接
  • 方法存在于适当的位置
  • 按钮已启用用户互动

尽量避免在viewDidLoad方法中进行任何视图修改,因为视图尚未就绪... 相反,尝试在viewDidAppear方法中设置按钮中心。

答案 1 :(得分:3)

可能。手势识别器可以处理按钮移动到的位置中的事件,或者可能有另一个视图阻挡新位置处的按钮,您需要将按钮带到前面。此外,如果您希望事件触发它,您应该将其放入viewDidAppear或IBAction。

答案 2 :(得分:1)

确保您的planBusinessButton.frame不在其超级框架之外。 例如:如果按钮的框架像这样(0,-200,100,200),当按钮添加到其超级视图时,它将不会处理点击事件。