0

我需要一个与 UINavigationController 具有相同功能的自定义视图控制器。为什么我不使用标准的导航栏是因为我真的需要一个自定义的 NavigationBar(超过 2 个按钮,标题和副标题,不同的高度等......)

我正在尝试使用充当标题的视图来实现自定义 ViewController,但我无法真正获得与原始 UINavigationViewController 相同的功能...

你将如何实现这个?我玩了2天(首先修改导航栏的外观,然后创建自定义导航栏,今天创建自定义ViewController)

4

2 回答 2

1

还可以查看 iOS 5 中的 View Controller Containment(您可以在 iOS 5 中添加子视图控制器并自己处理演示文稿)。

您可以在任何其他视图上方使用透明导航栏(灵活大小 ^^),并使用核心动画作为过渡动画(对于 push-pop-animation,动画选项比 UIKit 中的要多)。

确保继承 UIViewController 并向其添加一个特殊的“custonNavigationController”属性(弱),您可以从自定义导航控制器中设置该属性;使用这个类作为你的基本视图控制器类(或者,创建一个你在 UIViewController、UITableViewController 的子类中实现的协议作为这些类型的基类)。您“可以”覆盖“旧”navigationController 属性的 getter 方法,以便您可以使用其他(Apple,3rd 方框架)视图控制器。

如果您想完美地为动画计时(而不是硬编码值 - 这应该足够了),您还可以实现 UINavigationBar 的委托方法:)

到目前为止,这在我们的项目中效果很好。

于 2012-05-11T11:02:03.820 回答
1

只需使用 ios5 外观代理,您就可以添加任意数量的按钮等。只需通过苹果文档。

我希望这些对你有帮助。

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

UINavigationBar 和新的 iOS 5+ 外观 API - 如何提供两个背景图像?

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

于 2012-05-11T10:45:13.120 回答