如果词典中不存在键,我需要禁用按钮。我使用了UIButton的setEnabled功能,但仍然显示已设置为默认值的图像。
代码如下所示:
if([self.InfoDictionary objectForKey:ButtonExist])
{
[button1 setEnabled:YES];
}
else
{
[button1 setEnabled:NO];
}
当我在模拟器中运行时,图像仍会出现。需要一些指导。
答案 0 :(得分:12)
enable = YES
属性在单击时执行操作。
enable = NO
属性阻止在点击时执行操作。
如果要隐藏按钮,则可以将hidden
属性设置为YES
,反之亦然。隐藏的其他方法是将alpha
属性设置为0
(不可见)或1
(可见)
答案 1 :(得分:7)
您也可以设置userInteractionEnabled
UIButton
属性
if([self.InfoDictionary objectForKey:ButtonExist])
{
[button1 setEnabled:YES];
button1.userInteractionEnabled = YES;
}
else
{
[button1 setEnabled:NO];
button1.userInteractionEnabled = NO;
}
答案 2 :(得分:2)
使用:
if([self.InfoDictionary objectForKey:ButtonExist])
{
[button1 setHidden:YES];
}
else
{
[button1 setHidden:NO];
}
如果你想隐藏UIButton的UIImage,那么:
if([self.InfoDictionary objectForKey:ButtonExist])
{
[button1 setBackgroundImage:[UIImage imageNamed:@"YOUR IMAGE"] forState:UIControlStateNormal];
}
else
{
[button1 setBackgroundImage:[UIImage imageNamed:@""] forState:UIControlStateNormal];
}
希望这会对你有所帮助。 一切顺利!!!
答案 3 :(得分:1)
在swift3中:
self.button.isEnabled = false
答案 4 :(得分:0)
自己跑进去。问题是我无意中在手势处理程序中启用按钮以进行点击!
寻找这样的副作用。