2017-01-14 7 views
0

私は3つのレベルを持つカスタムメニューを構築しようとしています。最初のレベルは、メニューアイコンがタップされたときにサブビューとして展開され、スーパービューの幅のちょうど1/3になります。メニュー項目をタップすると、スーパービューの幅のちょうど1/3で2番目のメニューレベルが再び拡大されます。そしてあなたはそれを推測しました。ここでメニュー項目をタップすると、3番目と最後のサブビューが展開されます。サブメニューとしてカスタムメニュー

私の質問は、実際にアーキテクチャとビュー階層の面でこれをどのように処理するのが最善かです。

各メニューレベルには独自の表示コントローラがあり、サブビューを追加するときはmenulevelviewcontroller.viewを呼び出します。

私は、このようなことのために構築されたより良い方法があるかどうか、または他の人がこれに近づく方法についての示唆があるかどうか不思議です。

ありがとうございます。

答えて

0

私の意見では、UIViewControllerと3つのUIViewサブクラス(メニューレベル)を1つだけ必要とします。この方法は、異なるメニューレベルをアニメーション化し、1つのコントローラー内のすべてのメニューイベントを処理するのに役立ちます。このアプローチは、より柔軟で複雑なソリューションとは異なり、多くの時間を節約するのに役立ちます。

+0

私はストーリーボードでこれを行うことはできますか? ViewControllerにないStoryboardにUIViewを追加できるとは思いませんか? – nickjf89

+0

レベル数を追加したい場合は、必要なサブビューのコストを追加して、その表示をアニメートできます。 –