2013-12-15 207 views
0

我有一種可通過兩種不同方式訪問的視圖。我有一個if語句,它決定了在哪種情況下應該顯示一個按鈕。無法隱藏UIButton

if([Recipes entryExists:[note recipeIdentifier]]){ 
    [buttons insertObject:btnRemoveFave atIndex:0]; 
    [btnPrefs setHidden:NO]; 
} else { 
    [buttons insertObject:btnAddFave atIndex:0]; 
    [btnPrefs setHidden:YES]; 
    [btnPrefs setEnabled:NO]; 
} 

我已經在if語句的兩個條件中放置了一個斷點。當代碼進入else條件時,'setHidden'和'setEnabled'行都被執行,但該按鈕仍然可見並且被啓用。

任何想法,爲什麼我不能禁用按鈕?謝謝!

+3

如果你登錄btnPrefs,是非零? – rdelmar

+0

不,btnPrefs不是零 – Pheepster

+0

你怎麼稱呼你發佈的代碼? –

回答

1

您是否可以在每次調用語句時檢查是否正在創建按鈕的新實例? 如果您使用本地變量而不是實例,請使用標籤屬性來標識您的按鈕,以便您可以在按鈕數組中找到它。

除此之外,我更喜歡使用alpha=0.0而不是hidden=YES

好運。

1

使用下面的代碼。它爲我工作。

對於刪除:

[btnPrefs removeFromSuperview]; 

然後添加:

[self.view addSubview:btnPrefs];