2017-06-01 14 views
4

私はUINavigationControllerをサブクラス化して、あるタイプから他のタイプへ移行できるいくつかのタイプのヘッダを含めることを望みます。UINavigationControllerをカスタムヘッダーまたはUINavigationBarでサブクラス化する方法

  1. 子コントローラビューのサイズはどのように管理すればよいですか?ヘッダーの各種類の下にそれらを制限することは、変わっていく間に気が散っていて、管理するのが難しいようです。
  2. loadView()でUINavigationControllerのビューにUIViewサブクラスを割り当てようとしましたが、そうすると子コントローラビューが表示されなくなります(代わりに黒く表示されます)。この予期しない動作が発生するのはなぜですか?
  3. UINavigationControllerの「左から右へドラッグ」の切り替えをサポートするにはどうすればよいですか?
  4. UINavigationBarをサブクラス化することでこれを実現する方法はありますか?そうでない場合、私のカスタムビューはUINavigationControllerのトランジションアニメーションをどのようにサポートできますか?
  5. 代わりにUIViewControllerをサブクラス化し、基本的なUINavigationControllerビヘイビアの独自の実装を記述する利点はありますか?

Header 1

Header 2

答えて

0

私はこれらのメソッドを使用することは十分ではないことを理解:

func setBackgroundImage(UIImage?, for: UIBarMetrics)とタイトル領域でビューを挿入するtitleViewに任意のビューを設定します。

ナビゲーションバーを透明に設定せず、子ビューにはbarbuttonstitleviewしか表示されません。

UINavigationBarUINavigationItemのマニュアルを確認してください。

関連する問題