UIButton をプログラムで変更したいのですが、可能ですか? 相互作用なし。
どうにかビュー内のオブジェクトを取得できますか? それらを取得できれば、それらを繰り返し処理して、必要な UIButton を取得し、必要なものに変更できます。
UIButton をプログラムで変更したいのですが、可能ですか? 相互作用なし。
どうにかビュー内のオブジェクトを取得できますか? それらを取得できれば、それらを繰り返し処理して、必要な UIButton を取得し、必要なものに変更できます。
はい、可能です。
動的な数のボタンを扱っている場合は、タグを使用する必要があります。UIButton
(Interface Builder またはプログラムで) を挿入するときに、タグを割り当てることができます。のように、view.tag = 6
. これは、ボタンの特定のインスタンスをそのスーパー ビューから引き出すことができることを意味します。
実際には、通常、次の方法でボタンを追加します。
UIButton* btn = [UIButton alloc] initWithFrame:...];
....
[self.view addSubview:btn];
追加のステップは、タグの割り当てです (タグを追跡する方法はあなた次第です)。
btn.tag = 44;
再度アクセスするために、ビューから抽出できます。
UIButton* btn = (UIButton*)[self.view viewWithTag:44];
これにより、最初に作成したものと同じインスタンスが生成されます。
置き換えたい場合は、古いものを削除し、新しいものを作成して追加するだけです。
[btn removeFromSuperview];
UIButton* btn2 = [UIButton alloc] initWithFrame:...];
...
[self.view addSubview:btn2];
参照アウトレット タブ セクションを使用して、xib からボタンをそのコントローラーにリンクできます。その後、ボタンへの参照が得られるため、すべてのサブビューを反復処理する必要はありません。xib を選択して、サイド ユーティリティ メニューを開くだけです。ボタンを選択し、ユーティリティ メニューの接続インスペクターをクリックします。「新しい参照アウトレット」の横にある円をクリックして、コントローラーの .h ファイルにドラッグします。