2013-12-15 171 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];