0

我正在尝试为我的计算器应用程序创建一个“电源按钮”,它将打开/关闭计算器。我创建了按钮:

-(IBAction) *Power;

没有电源按钮,应用程序在液晶显示屏上以“0”开头,我的按钮都可以工作;但是我怎样才能告诉我的应用程序 LCD 应该显示“”并且在按下电源按钮之前无法操作按钮?一个简单的 if-then 函数会起作用吗?我可以在 if-thens 中放置 -(IBAction) 按钮吗?

4

4 回答 4

3

创建一个BOOL property, that 并检查YES所有IBACtions.

您需要将其设置为YES/NOmethod Power,通常为:

NO在你的init或中启动它viewDidLoad,以适用者为准。

-(IBAction) power{
    self.powerOn=!self.powerOn;
}

-(IBAction) otherMethod{
     if(self.powerOn){
         //do your stuff
     }
}

-(IBAction) *Power;另外,这里不需要带指针的方法。

于 2013-04-27T06:40:55.060 回答
1

1)声明一个变量来跟踪电源开/关

@property(nonatomic, assign) BOOL powerOn;

在 viewDidLoad 中,分配_powerOn = NO; or _powerOn = YES;

2)在您的电源按钮按下事件中,

-(IBAction) Power;{
    //if on, then off
    if(self.powerOn){
        //make display ""
        self.powerOn = NO;
    }else{ //if off, the on
        self.powerOn = YES;
        //make display "0"
    }
}

3)在所有其他按钮单击事件中添加以下行作为第一行

-(IBAction) otherMethod{
      if(!self.powerOn) return;

      //your code
}
于 2013-04-27T06:42:25.747 回答
1

您需要为您的按钮创建 IBOutlets,以便在运行应用程序时编辑它们的行为。这些 IBOutlets 是这样创建的:

IBOutlet UIButton *myPowerButton;

您需要将它们与您为其创建 Outlet 的 Interface Builder 中的按钮链接。在那里,您可以将“启用”行为指定为是或否,因此您可以制作一个电源按钮来设置用户是否可以工作。有关更多信息,请阅读有关 IBOutlets 和按钮的 Apple 文档。

UIButton Apple 文档

于 2013-04-27T06:43:28.953 回答
0

我会这样做,假设按钮的标题是 Power:

-(IBAction) Power
{
    if(self.powerOn)
    {
        //make display ""
        self.powerOn = NO;
        for (UIView* subView in self.view.subviews)
        {
          if ([subView isMemberOfClass:[UIButton class]] && subView.titleLabel.text != @"Power")
           subView.userInteractionEnabled = NO;
         }
    }
    else
    { //if off, the on
        self.powerOn = YES;
        //make display "0"
    }
}

当电源按钮关闭时,我会禁用所有其他按钮的用户交互。

于 2013-04-27T06:54:33.747 回答