隐藏UIButton而不使用"隐藏"或者"禁用"

时间:2014-03-16 16:27:16

标签: ios objective-c uibutton

我需要阻止用户在我运行的动画中按下按钮。 我不想隐藏按钮或改变它的图像。 我无法使用enabled = false,因为我将此选项用于其他情况,并且它具有不同的图像。

我确实尝试用透明图像覆盖按钮,但似乎不起作用,只有真实图像可以隐藏按钮并阻止用户按下它。

没有用的代码:

  skipBTN.enabled = FALSE;   //this one is not good for me
  skipBTN.hidden = TRUE;     //this one is also not good for me

这个没有实际工作(用户仍然可以按下按钮)

buttonsCover = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"empty"]];
buttonsCover.frame = button.frame;
[self.view addSubview:buttonsCover];
buttonsCover.hidden = YES;

并在需要时:

buttonsCover.hidden = NO;

我需要另一个想法:)

2 个答案:

答案 0 :(得分:1)

disable按钮而不改变它的外观,我建议:

skipBTN.userInteractionEnabled = FALSE

另请参阅:Documentation

答案 1 :(得分:0)

您有很多选择,但最简单的方法是使用disabled。要解决按钮在禁用时出现的问题,请使用UIButton setImage:forState:(或其他适当的方法)并指定状态UIControlStateDisabled。通过设置用于UIControlStateNormal状态的相同图像,禁用时该按钮看起来相同。