下部にタブバーがあり、上部にステータス バーやナビゲーション バーがないアプリを作成しています。上部に 320x50 のティーザー ビューを作成したいと考えています。一部のタブのメイン ビューの上に表示されます。ビューの上に広告が表示される方法に似ています。ティーザー ビューが非表示になることがあります。ユーザーがティーザーのボタンをクリックすると、タブバーを含むビューを引き継いで下に展開する必要があります。
そこにサンプルや提案はありますか?
最高、ハウィー
私はそれを考え出した。おそらく、load viewメソッドではなく、initメソッド内で画面全体(私はMainと呼びます)を引き継ぐビューをインスタンス化することと関係があります。また、ティーザーとメインのビューコントローラーを別々に使用する代わりに、ビューコントローラーを1つ作成し、uiviewsを使用してティーザーエリアとメインエリアを保持しました。そうすれば、高さ50ピクセルのティーザーを非表示にして表示し、ayが50で高さが381(480-タブバーの高さが49-ティーザーの高さが50)のメイン領域を個別に非表示にして表示できます。
これでティーザーのボタンをクリックできます。メインエリアが下に展開され、画面全体(タブバーを除く)が表示されます。[閉じる]をクリックすると、メインエリアが画面上部のティーザービューの後ろに縮小します。
まあ、私が何かを見逃していない限り、これは私にはそれほど複雑に見えません.
必要に応じて nib を使用して、UIViewController から継承するこの「ティーザー ビュー」のクラスを作成するだけです。ティーザー ボタンのコールバック メソッドを作成し、ティーザーのサイズを拡大する (view.frame を変更して) か、必要に応じてスーパービューから削除します。
次に、ティーザーを表示したい場合は、ティーザーをインスタンス化し、そのデータを入力して、そのビューを現在のビューのサブビューに追加するだけです。
TL;DR : ティーザー ビューは、ビューがタブのサブビューに追加される UIViewController であるべきだと思います。