2

我想一键隐藏按钮。当用户触摸按钮时,该按钮应该隐藏但只需轻轻一按即可。按钮随机移动。移动按钮应在触摸时隐藏。我已经做到了,但在按了两三下后,它才被隐藏起来。我正在使用 touchupinside 事件。谁能帮我?

-(IBAction)clickButton1:(id)sender
{
    if (button1.tag==1)
    {
        button1.hidden=TRUE;
    }
    else
    {
        button1.hidden=FALSE;
    }
}
-(IBAction)clickButton2:(id)sender
{
    if(button1.hidden==TRUE && button3.hidden==FALSE) 
    {
        button2.hidden=TRUE;
    }
    else
    {
        button2.hidden=FALSE;
    }
}

提前致谢

4

3 回答 3

3

用这个按钮 touchUpInside 替换您的代码

-(IBAction)hide:(id)sender
{
    UIButton *tmp = (UIButton *)sender;
    tmp.hidden = YES;
}
于 2012-04-11T06:59:26.017 回答
0

您可以使用循环在 viewDidLoad 上创建按钮

-(void) viewDidLoad{
     for ( c = 0; c < 10; c++ ){
           Buttons[c] = [[UIButton alloc] init];
           Buttons[c].tag = c;
      }
}

之后,您可以使用以下代码控制显示隐藏。

-(IBAction)yourActionMethod:(id)sender
{
    //your normal action codes here
    UIButton *tmp = (UIButton *)sender;
    if (tmp.tag == 0) {
          // some codes
    } else {....}

    //control buttons of the 

    for (int i = 0; i < tmp.tag; i++){
          Buttons[i].hidden = yes;
    }
    
}
于 2012-04-11T07:31:38.150 回答
0

用这个替换你的第一个 IBAction 方法:

 -(IBAction)clickButton1:(id)sender
{
  UIButton *button1 = (UIButton *)sender;
  if (button1.tag==1)
 {
   button1.hidden=TRUE;
 }
 else
 {
   button1.hidden=FALSE;
 }
}
于 2012-04-11T07:00:48.447 回答