我在我的視圖上有2個按鈕,我想禁用第一個按鈕,當我點擊另一個按鈕時禁用第二個,當我再次點擊按鈕。如何禁用多個按鈕?
我曾嘗試使用此代碼
if (button1.enable = NO) {
button2.enable = NO;
}
所以我有一個導航欄爲「+」按鈕,在我看來,5個禁用按鈕。 當我按下「+」按鈕,我要啓用的第一個按鈕,當我再次推,使第二...
感謝
我在我的視圖上有2個按鈕,我想禁用第一個按鈕,當我點擊另一個按鈕時禁用第二個,當我再次點擊按鈕。如何禁用多個按鈕?
我曾嘗試使用此代碼
if (button1.enable = NO) {
button2.enable = NO;
}
所以我有一個導航欄爲「+」按鈕,在我看來,5個禁用按鈕。 當我按下「+」按鈕,我要啓用的第一個按鈕,當我再次推,使第二...
感謝
你說
if (button1.enabled = NO) {
當你大概是這個意思
if (button1.enabled == NO) {
=
是賦值運算符,而==
是布爾相等運算符。你現在在做的是將YES分配給button1.enable,這顯然啓用了button1。然後,由於button.enable爲true,控件將輸入if的子句並啓用button2。
編輯:要回答你的新問題(「當我按下」+「按鈕時,我想啓用第一個按鈕,當我再次按下啓用第二個按鈕時......」),讓我們假設你初始化按鈕某處說。在您的@interface添加變量實例
NSArray *buttons;
讓你的接口聲明看起來像
@interface YourViewController: UIViewController {
IBOutlet UIButton *button1;
IBOutlet UIButton *button2;
IBOutlet UIButton *button3;
IBOutlet UIButton *button4;
IBOutlet UIButton *button5;
NSArray *buttons;
}
,然後初始化buttons
像這樣:
-(void)viewDidLoad {
[super viewDidLoad];
buttons = [NSArray arrayWithObjects: button1, button2, button3, button4, button5, nil];
[buttons retain];
for (UIButton *each in buttons) {
each.enabled = NO;
}
-(void)viewDidUnload {
[buttons release];
[super viewDidUnload];
}
比方說,你掛鉤的+按鈕的Touch Up Inside事件處理程序到plusPressed:
。然後,你就必須
-(IBAction)plusPressed: (id) button {
for (UIButton *each in buttons) {
if (!each.enabled) {
each.enabled = YES;
break;
}
}
}
每次plusPressed:
被調用時,數組中的下一個按鈕將被啓用。 (我正在編寫上述代碼;可能會出現語法錯誤。)
您還可以使buttons
屬性。我沒有,因爲其他班級沒有業務訪問buttons
。
button1.enable = YES
應該button1.enable == YES
更好的可讀的形式:[button1 isEnabled]
if (button1.enabled == YES)
{
button1.enabled = NO;
button2.enabled = YES;
}
else (button2.enabled == YES)
{
button2.enabled = NO;
button1.enabled = YES;
}
難道這就是你想找的?這將是另一個按鈕的IBAction。
該代碼如何禁用任何按鈕? – 2010-08-15 20:16:03
你能提供更多信息嗎?很難理解你在這裏想問什麼...... – Jasarien 2010-08-15 20:16:41