我正在尝试为我的计算器应用程序创建一个“电源按钮”,它将打开/关闭计算器。我创建了按钮:
-(IBAction) *Power;
没有电源按钮,应用程序在液晶显示屏上以“0”开头,我的按钮都可以工作;但是我怎样才能告诉我的应用程序 LCD 应该显示“”并且在按下电源按钮之前无法操作按钮?一个简单的 if-then 函数会起作用吗?我可以在 if-thens 中放置 -(IBAction) 按钮吗?
我正在尝试为我的计算器应用程序创建一个“电源按钮”,它将打开/关闭计算器。我创建了按钮:
-(IBAction) *Power;
没有电源按钮,应用程序在液晶显示屏上以“0”开头,我的按钮都可以工作;但是我怎样才能告诉我的应用程序 LCD 应该显示“”并且在按下电源按钮之前无法操作按钮?一个简单的 if-then 函数会起作用吗?我可以在 if-thens 中放置 -(IBAction) 按钮吗?
创建一个BOOL property
, that 并检查YES
所有IBACtions
.
您需要将其设置为YES/NO
method Power
,通常为:
NO
在你的init
或中启动它viewDidLoad
,以适用者为准。
-(IBAction) power{
self.powerOn=!self.powerOn;
}
-(IBAction) otherMethod{
if(self.powerOn){
//do your stuff
}
}
-(IBAction) *Power;
另外,这里不需要带指针的方法。
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
}
您需要为您的按钮创建 IBOutlets,以便在运行应用程序时编辑它们的行为。这些 IBOutlets 是这样创建的:
IBOutlet UIButton *myPowerButton;
您需要将它们与您为其创建 Outlet 的 Interface Builder 中的按钮链接。在那里,您可以将“启用”行为指定为是或否,因此您可以制作一个电源按钮来设置用户是否可以工作。有关更多信息,请阅读有关 IBOutlets 和按钮的 Apple 文档。
我会这样做,假设按钮的标题是 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"
}
}
当电源按钮关闭时,我会禁用所有其他按钮的用户交互。