禁用iOS中的按钮

时间:2013-03-21 04:44:23

标签: ios uibutton

如果词典中不存在键,我需要禁用按钮。我使用了UIButton的setEnabled功能,但仍然显示已设置为默认值的图像。

代码如下所示:

if([self.InfoDictionary objectForKey:ButtonExist])
{
    [button1 setEnabled:YES];
}
else
{
    [button1 setEnabled:NO];
}

当我在模拟器中运行时,图像仍会出现。需要一些指导。

5 个答案:

答案 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)

自己跑进去。问题是我无意中在手势处理程序中启用按钮以进行点击!

寻找这样的副作用。