2017-07-07 9 views
0

コードでボタンを隠そうとしていますが、そのボタンを隠そうとするたびにプログラムがクラッシュします。ios - コードを介してボタンを隠すときのエラーObjective-c

私が取得エラー:

'NSInvalidArgumentException', reason: '-[UIBarButtonItem setHidden:]: unrecognized selector sent to instance 0x14ef8f30' 

.hファイルコード:

@property (strong) UIButton *takeAll; 

.Mコード:

@synthesize takeAll; 

// function 

    [self.takeAll setHidden:YES]; 
+0

「takeAll」ボタン割り当てのコードを追加してください。 – Subramanian

+0

takeAllはUIBarButtonItemです。おそらく、このボタンアイテム内のボタンにコンセントを関連付けたいと思っています。 – teixeiras

+0

何らかの理由で私はUIBarButtonItemとして宣言したらそれを隠すことはできません。どうすれば修正できますか? – apex

答えて

1

エラーは明らかにあなたがUIBarButtonItem

あなたの隠された値を設定しようとしている」を言っているこのcode`でそれを隠すことができますUIButtonオブジェクトと割り当てをUIBarButtonItemとして作成しました。これは間違っています。あなたはUIBarButtonItem、その後

@property (strong) UIBarButtonItem *takeAll; 

そして、あなたはUIBarButtonItemを隠したい場合が必要な場合には

self.takeAll = [UIButton buttonWithType:UIButtonTypeCustom] 

すると仮定します。

self.takeAll.enabled = false 
self.takeAll.tintColor = UIColor.clearColor 

バーボタンアイテム

self.takeAll.enabled = true 
self.takeAll.tintColor = UIColor.blueColor 
+0

ええ、それを隠すために色を変えることについて申し訳ありませんでした。ありがとう – apex

1

UIBarButtonItemはsetHidden:セレクタを持っていません。ボタンの色合いをクリアな色に設定して無効にすることができますが、これは基本的に同じ機能を提供します。

0

あなたはUIBarButtonItem内のUIViewのサブクラスを持っている場合は、

[barButtonItem.customView setHidden:YES];

0

クラッシュ示したがUIBarButtonItemにある有効にします。 インターフェイスファイルでは、UIButtonの宣言が使用されます。 UIButtonをUIBarButtonItemにリンクしようとしている可能性があります。

関連する問題