我正在嘗試爲我的計算器應用程序創建一個「電源按鈕」,它將打開/關閉計算器。我創建的按鈕:添加電源按鈕到計算器應用程序
-(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