3

我有IBOutlet UIButton。它不响应touchesBegan:withEvent:何时启用。但是当我设置[button setEnabled:NO]并单击以调整它的位置时,它会转到touchesBegan:withEvent:.

如何禁用UIButton和禁用touchEvent responder?我曾尝试过[button setEnabled:NO][button setUserInteractionEnabled:YES]但没有。

4

3 回答 3

2

你有没有尝试过 ?

[button setEnabled:NO];

[button setUserInteractionEnabled:NO]
于 2012-08-07T08:36:44.557 回答
0

对于禁用 touchesBegan:withEvent 你可以使用

 self.view.userInteractionEnabled = NO; 

因为这个方法用于uiview(以及其他uiimage的子类)。当您单击按钮时,调用按钮处理程序(不是 touchesBegan、touchMove),按钮是 UIControl 的子类。

于 2012-08-07T08:37:24.807 回答
0

如果按钮被禁用。以下代码对您有好处。

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{   
    UITouch *touch = [touches anyObject];

    if(CGRectContainsPoint(button.frame, [touch locationInView:self.view]))
        return;

   //do stuff
}
于 2012-08-07T08:38:15.730 回答