我正在尝试为我的计算器应用程序创建一个“电源按钮”,它将打开/关闭计算器。我创建的按钮:添加电源按钮到计算器应用程序
-(IBAction) *Power;
没有电源键,应用程序在液晶屏显示“0”,和我的按钮都在工作开始;但我怎么能告诉我的应用程序,液晶显示器应该显示“”,按钮不能被操纵,直到按下电源按钮?简单的if-then函数会起作用吗?我可以在if-thens中放置 - (IBAction)按钮吗?
我正在尝试为我的计算器应用程序创建一个“电源按钮”,它将打开/关闭计算器。我创建的按钮:添加电源按钮到计算器应用程序
-(IBAction) *Power;
没有电源键,应用程序在液晶屏显示“0”,和我的按钮都在工作开始;但我怎么能告诉我的应用程序,液晶显示器应该显示“”,按钮不能被操纵,直到按下电源按钮?简单的if-then函数会起作用吗?我可以在if-thens中放置 - (IBAction)按钮吗?
创建一个BOOL property
,并在所有的IBACtions
检查YES
。
您需要将其设置为YES/NO
的方法Power
,通常为:
在init
或viewDidLoad
,无论是适用的NO
Initiaze它。
-(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
}
这很好,但我的应用程序默认开启电源。我能以某种方式改变它吗?另外,当按下电源按钮时,如何更改所有按钮的图像?我想模拟电源开启时“点亮”的按钮。谢谢! – 2013-04-27 06:54:32
不要紧,如何在关闭电源的情况下启动应用程序。我没有看完整个答案。 :) – 2013-04-27 06:55:46
您需要为您的按钮创建IBOutlets,以便在运行应用程序时编辑它们的行为。 这些IBOutlets创建这样的:
IBOutlet UIButton *myPowerButton;
你需要将它们用在Interface Builder您创建出路按钮链接。 您可以在其中指定“已启用”行为为“是”或“否”,以便用户可以使用或不使用电源按钮。 欲了解更多信息,请阅读有关IBOutlets和Buttons的Apples文档。
我认为这是这个想法最优雅的方法。但是,我会定义一个outletCollection,并启用/禁用所有按钮。然后在您powerOnOff方法-setUserInteractionEnabled:为YES/NO为这些按钮和定义IB为您的禁用的按钮图像或代码与-setImage:forState:UIControlStateDisabled。 – Mario 2013-04-27 08:17:48
你甚至都不需要设置其他照片,因为苹果的操作系统将灰色的按钮,以便您可以清楚地看到哪些是有用的,哪些are'nt。 – Maurice 2013-04-27 11:44:04
我知道,但在意见接受的答案,任择议定书要求制定残疾人按钮的图片。 – Mario 2013-04-27 13:08:31
我会做这样一来,假设按钮的标题就是力量:
-(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"
}
}
我会关闭所有其他按钮的用户互动时powerbutton关闭。
我会去启用/禁用用户交互在目标动作的电源按钮,如上所述 – Mario 2013-04-27 06:52:46
@Mario:我没有找到启用/禁用用户交互。虽然这是最好的方法,但为此,他只需要将所有插座,textfiled设置为setEnabled:NO。 – 2013-04-27 06:56:45
很好,谢谢。还有一件事 - 当我按下电源按钮时,如何更改UIButton的图像? – 2013-04-27 07:03:01