2012-04-03 16 views
0

これは可能ですか?それはそうでないためにうんざりしているようです。Interface BuilderでUIButtonを使用してカスタムトグルを作成する

IBでトグルボタン(UISスイッチではない)を作成しようとしています。例えば、ミュートボタンを押すと、ミュートされると、サウンドが無効になっていることが表示され、そのインジケータは消えます(ただし、同じ基本グラフィックが残ります)。また、押すたびにこれらの状態が切り替わります。

この機能は、選択したプロパティを使用して実現できますが、コード内のようにIBの[選択された強調表示]プロパティを変更することはできないため、ボタンを押すたびに状態に関係なく強調表示された画像が同じ、恐ろしいと不気味に見える。

これをIBだけで修正する方法はありますか、これらのボタンを手動で読み込まないようにカスタムクラスを作成する必要はありますか?

答えて

0

UIButtonをサブクラス化して必要なものを追加することについて考えましたか?

+0

コード内に通常のUIButtonを使用することができます。はい、私はそれをサブクラス化することを考えて、自動検出し、初期化時に選択/強調表示状態を設定するいくつかのコードを追加しましたが、これを行う必要がなかった場合は、より良いでしょう。しかし、私はこのルートに行く必要がある場合、私は何を上書きするか分からない、それはちょうど--initWithFrame :? – user1137704

+0

たとえば、 'setImage:@"というイメージ "forState:(UIControlStateHighlighted | UIControlStateSelected)'を実行すると、問題を解決できますが、IBでは同等のものはありません。サブクラス化の唯一の問題は、値が何であるべきかを認識することです。 – user1137704

関連する問題