Xcode如何隐藏按钮

时间:2012-01-10 22:01:35

标签: xcode gesture tap

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

已经搜索过高和低的答案,但我想我需要更加努力...请帮助哈哈

如果你可以明确地说明.h和.m中的内容,

将非常感激。

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

4 个答案:

答案 0 :(得分:2)

你试过button.hidden = YES;吗?

答案 1 :(得分: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中的视图上,设置您感兴趣的手势,然后将其链接到选择器。

答案 2 :(得分: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的实例变量),然后将它们添加到视图中。 确保将它们链接起来。请参阅here

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

第一个选项:

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时不需要,但为了清楚起见,我总是这样做。

希望这有用。

答案 3 :(得分:0)

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