ここでは平易な英語を使用しています。私は複数のタブを備えたこの素晴らしいアプリを持っており、各タブ(UIViewControllerのサブクラス)にはそれがあります。タブの1つには、(とりわけ)内部にボタンがあり、多くの機能があります。ボタンはきれいで(ネットで見つけたUIGlossyButtonのサブクラス)、マイクが表示されますボタンを押すと、ボタン(タブ)が音声を録音し、自動的に停止します(音量レベル/タイムアウトを検出することにより)
- 録音中、タブコントローラーはボタンの上部にLEDメーターを表示します
- 録音後、ボタンはスピーカーを表示するアンサーボタンと交換されます
- スピーカーをタップすると音声が再生されます
- スピーカーをスワイプすると「削除」でき、マイクにリセットされます
この「ウィジェット」は素晴らしく、私はそれが大好きです。今、私はこれを他のタブの中に入れたいと思っています。これは、コピー/貼り付けではなく、抽象化の候補のように見えます。
私を殺しているのは、このすべての機能(ボタンの表示/非表示/交換、サウンドの録音、サウンドレベルの分析)をウィジェットにパッケージ化する必要があるかどうかです。もしそうなら、いくつのクラスを使用する必要があり、各サブクラスはどのクラスにする必要がありますか?そして最後に、Interface Builderで、タブ内のストーリーボードにドラッグするオブジェクトと、[カスタムクラス]ボックスに入力するクラスを指定します。