11

キーが辞書に存在しない場合は、ボタンを無効にする必要があります。UIButton の setEnabled 機能を使用しましたが、デフォルトに設定された画像がまだ表示されます。

コードは次のようになります。

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

シミュレーターで実行すると、画像がまだ表示されます。これに関するガイダンスが必要です。

4

5 に答える 5

12

enable = YESボタンのプロパティは、クリックされたときにアクションを実行します。

enable = NOプロパティは、クリック時にアクションが実行されるのを防ぎます。

hiddenボタンを非表示にする場合は、プロパティを asYESまたはその逆に設定できます。非表示にする他の方法は、alphaプロパティを0(非表示) または1(表示)に設定することです。

于 2013-03-21T04:52:22.537 に答える
7

userInteractionEnabledまた、プロパティを設定することもできますUIButton

 if([self.InfoDictionary objectForKey:ButtonExist])
    {
        [button1 setEnabled:YES];
        button1.userInteractionEnabled = YES;
    }
    else
    {
        [button1 setEnabled:NO];
        button1.userInteractionEnabled = NO;
    }
于 2013-03-21T04:46:26.607 に答える
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];
    }

これがあなたを助けることを願っています。ではごきげんよう !!!

于 2013-03-21T04:46:18.780 に答える
0

自分でこれに遭遇しました。問題は、うっかりタップ用のジェスチャ ハンドラでボタンを有効にしてしまったことです。

このような副作用を探してください。

于 2014-07-10T14:49:24.770 に答える