禁用 iOS 中的按钮

问题描述 投票:0回答:5

如果字典中不存在该键,我需要禁用该按钮。我已经使用了 UIButton 的 setEnabled 功能,但已设置为默认的图像仍然出现。

代码如下所示:

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

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

ios uibutton
5个回答
13
投票

enable = YES
按钮的属性在单击时执行操作。

enable = NO
属性可防止单击时执行操作。

如果您想隐藏该按钮,则可以将

hidden
属性设置为
YES
,反之亦然。其他隐藏方法是将
alpha
属性设置为
0
(不可见)或
1
(可见)


7
投票

您还可以设置

userInteractionEnabled
UIButton

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

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];
    }

1
投票

在 swift3 中:

self.button.isEnabled = false

0
投票

我自己也遇到过这个。问题是我无意中启用了手势处理程序中的按钮以进行点击!

寻找像这样的副作用。

© www.soinside.com 2019 - 2024. All rights reserved.