0

UINavigationControllerと同じ機能を持つカスタムViewControllerが必要です。標準のナビゲーションバーを使用しないのは、カスタムのナビゲーションバー(2つ以上のボタン、タイトルとサブタイトル、高さの違いなど)が本当に必要だからです。

ビューがヘッダーとして機能するカスタムViewControllerを実装しようとしていますが、元のUINavigationViewControllerと同じ機能を実際に取得することはできません...

これをどのように実装しますか?私は2日間遊んでいます(最初にナビゲーションバーの外観を変更し、次にカスタムナビゲーションバーを作成し、今日はカスタムViewControllerを作成します)

4

2 に答える 2

1

iOS5の外観プロキシを使用するだけで、必要な数のボタンなどを追加できます。アップルのドキュメントを参照してください。

これらがお役に立てば幸いです。

http://developer.apple.com/library/ios/#documentation/uikit/reference/UINavigationBar_Class/Reference/UINavigationBar.html

UINavigationBarと新しいiOS5+の外観API-2つの背景画像を提供する方法は?

http://www.raywenderlich.com/4344/user-interface-customization-in-ios-5

于 2012-05-11T10:45:13.120 に答える
1

iOS5のViewControllerContainmentもご覧ください(iOS 5に子ViewControllerを追加して、自分でプレゼンテーションを処理できます)。

他のビューの上に透明なナビゲーションバーを使用し(柔軟なサイズ^^)、トランジションアニメーションにコアアニメーションを使用できます(プッシュポップアニメーションにはUIKitよりも多くのアニメーションオプションがあります)。

必ずUIViewControllerをサブクラス化し、カスタムナビゲーションコントローラーから設定できる特別な「custonNavigationController」プロパティ(weak)を追加してください。このクラスをベースビューコントローラークラスとして使用します(または、UIViewController、UITableViewController、...のサブクラスに実装するプロトコルをこれらの種類のベースクラスとして作成します)。他の(Apple、サードパーティフレームワーク)ビューコントローラを使用できるように、「古い」navigationControllerプロパティのgetterメソッドを「上書き」できます。

アニメーションのタイミングを完全に合わせたい場合(ハードコード値ではなく、これで十分です)、UINavigationBarのデリゲートメソッドを実装することもできます:)

これまでのところ、これは私たちのプロジェクトでかなりうまくいきました。

于 2012-05-11T11:02:03.820 に答える