我有一个可以通过两种不同方式访问的视图。我有一个if语句,确定在哪种情况下应该显示一个按钮。
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'的行都被执行,但按钮仍然可见并启用。
为什么我无法禁用按钮的任何想法?谢谢!
答案 0 :(得分:1)
每次调用语句时,是否可以检查是否正在创建按钮的新实例? 如果您使用局部变量而不是实例,请使用tag属性来标识您的按钮,以便在按钮数组中找到它。
除此之外,我更喜欢使用alpha=0.0
代替hidden=YES
。
答案 1 :(得分:1)
使用以下代码。它对我有用。
删除:
[btnPrefs removeFromSuperview];
然后添加:
[self.view addSubview:btnPrefs];