我需要一个具有与UINavigationController相同功能的自定义视图控制器。为什么我不使用标准的是因为我真的需要一个自定义的NavigationBar(超过2个按钮,标题和副标题,不同的高度等等...)
我正在尝试实现一个自定义的ViewController,其中一个视图代表一个标题,但我无法真正获得与原始UINavigationViewController相同的功能......
你将如何实现这一点?我花了2天时间(首先修改导航栏的外观,然后创建自定义导航栏,然后创建自定义ViewController)
答案 0 :(得分:1)
只需使用ios5外观代理,您就可以添加任意数量的按钮等。只需通过苹果文档。
我希望这些可以帮到你。
UINavigationBar and new iOS 5+ appearance API - how to supply two background images?
http://www.raywenderlich.com/4344/user-interface-customization-in-ios-5
答案 1 :(得分:1)
还可以查看iOS 5中的View Controller Containment(您可以在iOS 5中添加子视图控制器并自行处理演示文稿)。
您可以在任何其他视图上方使用透明导航栏(灵活大小^^)并使用核心动画进行过渡动画(在UIKit中有更多动画选项用于push-pop动画)。
确保子类UIViewController并为其添加一个特殊的“custonNavigationController”属性(弱),您可以从自定义navigationcontroller中设置该属性。使用此类作为基本视图控制器类(或者,创建一个在UIViewController,UITableViewController的子类中实现的协议,......作为这些类的基类)。 你“可以”覆盖“旧”navigationController属性的getter方法,这样你就可以使用其他(Apple,第三方框架)视图控制器。
如果你想完美地定制你的动画(而不是硬编码值 - 这应该足够了),你也可以实现UINavigationBar的委托方法:)
到目前为止,这在我们的项目中表现得非常好。