-3

我想创建一个手势,以便当用户双击屏幕时所有按钮都会消失,直到再次双击它......

已经搜索了答案,但我想我需要更加努力......请帮助哈哈

如果您能恭敬地指定 .h 和 .m 中的内容,将不胜感激...

再次抱歉愚蠢的问题......

4

4 回答 4

2

你试过button.hidden = YES;吗?

于 2012-01-10T22:05:28.390 回答
0

了解如何使用 NSTimmer 或 sleep() 函数来创建双击之间的延迟。

于 2012-01-10T23:22:14.520 回答
0

如果您打算让按钮动画进出,那么您可能会发现[button setAlpha:0]并且 [button setAlpha:1]更有用,请原谅粗略的示例:

- methodTheDoubleTapGuestureCalls
{
  if (button.alpha == 0)
     [UIView animateWithDuration:0.5 animations:^{
        [button.alpha setAlpha:1];
        }
  }
}

如果您对手势感到困惑,那么在 iOS 5 中,您可以将手势识别器拖到 Interface Builder 中的视图上,设置您感兴趣的手势,然后将其链接到选择器。

于 2012-01-10T22:16:50.500 回答
0

试听UIGestureRecognizer课。
此实现将允许您识别不同的预定义用户交互。

UITapGestureRecognizer是您需要的子类。

在您的控制器中,您可以执行以下操作:

// Do this in your viewDidLoad
// Instance variable
recognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(doubleTap)];
[recognizer setMinimumNumberOfTouches:2];
[recognizer setMaximumNumberOfTouches:2];

并为按钮添加一个方法:

- (void) doubleTap {
    //Hide/unhide buttons
}

对于按钮,应首先将它们添加为插座(带有关键字 IBOutlet 的实例变量),然后您应该将它们添加到您的视图中。确保将它们链接起来。见这里

当您将它们链接起来时,您可以使用以下语句来隐藏/取消隐藏它们。

第一个选项:

buttonOne.hidden = !buttonOne.hidden
buttonTwo.hidden = !buttonTwo.hidden

第二种选择:

//Add a instance variable hideButtons of type BOOL. I prefer this, your always sure the hidden value for each button has the same value.

hideButtons = !hideButtons
buttonOne.hidden = hideButtons
buttonTwo.hidden = hideButtons

在您的 viewDidLoad 中,您应该明确地将 hideButtons 设置为您的初始值。虽然当布尔值为 false 时不需要,但为了清楚起见,我总是这样做。

希望这会有所帮助。

于 2012-01-10T22:17:04.180 回答