【问题标题】:Hide button on one touch itself一键隐藏按钮
【发布时间】:2012-04-11 06:52:44
【问题描述】:

我想一键隐藏按钮。当用户触摸按钮时,该按钮应该隐藏但只需轻轻一按即可。按钮随机移动。移动按钮应在触摸时隐藏。我已经做到了,但在按了两三下后,它才被隐藏起来。我正在使用 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;
    }
}

提前致谢

【问题讨论】:

  • 请提供相关代码sn-ps ...
  • 请提供您在 TouchUpInside 中编写的代码
  • 意味着您希望被按下的按钮应该被隐藏而其他按钮变得可见,对吗?告诉我我会为您提供解决方案..
  • @Marvin 我想当我点击那个按钮时它应该被隐藏起来。但在一个压力机本身而不是在两个或三个压力机上。一个这个按钮随机移动
  • 试试吧,请使用 TouchDown 而不是 TouchUpInside,这不是解决方案,而是尝试一下

标签: iphone objective-c ios xcode4.2


【解决方案1】:

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

-(IBAction)hide:(id)sender
{
    UIButton *tmp = (UIButton *)sender;
    tmp.hidden = YES;
}

【讨论】:

  • 亲爱的先更新你的问题
【解决方案2】:

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

 -(IBAction)clickButton1:(id)sender
{
  UIButton *button1 = (UIButton *)sender;
  if (button1.tag==1)
 {
   button1.hidden=TRUE;
 }
 else
 {
   button1.hidden=FALSE;
 }
}

【讨论】:

    【解决方案3】:

    您可以使用循环在 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;
        }
        
    }
    

    【讨论】:

      猜你喜欢
      • 2017-01-31
      • 2015-04-28
      • 2011-07-30
      • 1970-01-01
      • 1970-01-01
      • 2011-09-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多