【问题标题】:How to Disable IBAction Button, that is on subView如何禁用子视图上的 IBAction 按钮
【发布时间】:2014-02-28 13:32:52
【问题描述】:

我有一个通过连接检查器正确连接的 IBAction 按钮……

在“.h”中

- (IBAction)Download;

在我的 '.m' 中也有同名方法

- (void) Download
{
// Code for data download   
}

当我按下按钮时,它可以很好地下载数据……

我的问题是,如果用户的支持有限,那么他们就无法下载数据……显然 下载 IBAction 按钮已禁用… 是的,这个按钮在 subView 上。

这个问题我该怎么办……???

【问题讨论】:

  • 不清楚你在问什么。
  • 在您的 Download 方法中创建一个 if 语句来检查是否允许某人执行那段代码?也就是说,如果我正确理解了这个问题..
  • 您可以将按钮的用户交互设置为False。
  • 您可以禁用按钮或显示 UILable 说明网络不可用或隐藏按钮。
  • @exceptionx0000f 我该怎么做?你能帮帮我吗?

标签: ios objective-c uibutton ibaction


【解决方案1】:

使用

yourbtn.enabled = NO;

禁用按钮以及何时启用

yourbtn.enabled = YES;

【讨论】:

  • 下载未声明….
【解决方案2】:

通过界面生成器创建按钮的IBoutlet,并将按钮的userinteractionenabled设置为NO。

在您的下载按钮操作中,执行此操作

if(condition)
{
  //code to download
}
else
{
  [self.downloadButton setuserinteractionenabled : NO];
}

【讨论】:

  • 接收器类型错误 Void
  • 你是用void方法还是ibaction写代码??如果在 void 方法中,那么您是在 ibaction 中调用该方法吗??
  • 按下按钮时调用此方法
  • 我想要的只是禁用这个按钮
【解决方案3】:

如果您不需要重新激活按钮,请尝试此操作。如果您需要重新激活,您需要拥有一个 IBOutlet。

在你的 .h 中

- (IBAction)Download:(UIButton *)sender;

在您的 .m 中

   - (IBAction) Download:(UIButton *)sender {
      if (test not ok) {    
        sender.enabled = NO;
      } else {
        perform download....
      }
    }

【讨论】:

    【解决方案4】:

    我发现有用的是:

    在 ViewController 的界面中为情节提要中所需的按钮创建 IBOutlet 连接。

    IBOutlet UIButton *actionButton;
    

    现在,如果您想禁用它。

    actionButton.userInteractionEnabled = NO; 
    

    如果你想让它再次启用

    actionButton.userInteractionEnabled = YES; 
    

    【讨论】:

      猜你喜欢
      • 2016-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多