私はメモ帳のように見える、再利用可能な一般的なビューを作成しようとしています。私が問題に近づけることを決めたのは(とUIView
からなるカスタムビューを作成することです)このカスタムビューを作成するにはどのような設計アプローチをとるべきですか?
ユーザーがテキストの行をスクロールすると、UIViewがスクロール方向を追跡します。 ここのキーはです。私のカスタムビュー内では、別のサブビューのイベントに応答して1つのサブビューの位置を変更する必要があります。これらの変更を調整する必要があります...
私が考えたアプローチの1つは、MVCデザインパターンを使用することでした。ビューコントローラはすべてのイベントを処理し、それに応じてサブビューを移動することができます。このMVCは他のMVCに埋め込むことができます。
通常、MVCデザインパターンを使用する場合、コントローラはユーザーイベントを処理し、モデルとビューを操作します。しかし、私のカスタムビューはモデルを持っていません - 私がしようとしているのは、ユーザーがスクロールのようなことをしたときにビューがそれ自身のサブビューを管理することです。 MVCデザインパターンは、二つの理由のために、ここで良いフィットではないように私には思える:
- それがで使われているプログラムに固有のモデルやロジックはありません
- それはそうです。ビューがどのように表示されるかを変更するユーザーイベントを処理する責任がビューにあります。
...私は間違っている可能性があります。そのため、私は助けを求めています。私よりも経験が豊富で、これまで何度もこのことをしてきた人にとっては、次のような質問があります:
どのようなデザインパターンがこの状況に適していますか? MVCまたは...
既成のビューを購入することができます。ここには有料の実装が1つあります:[DTNotePadViewController](http://www.cocoanetics.com/parts/dtnotepadviewcontroller/)。 – JoePasq
うん...それは私がやろうとしていることです。私は、この人が作成したカスタムのメモ帳ビューの設計にどのようにアプローチするかを学ぶことにもっと興味があります。メモを保存する限り、私はそれのためのビューコントローラを作成するだろうが、私はカスタムの並べ替えのノートのビューを設計し、それの動作を定義することで失われています。 –
彼のブログにはいくつかのメモがあると思います。彼が何を秘密にしていたのかわからない。 – JoePasq