写OWN UINavigationController?类似的功能,而不是子类

时间:2012-05-11 10:08:02

标签: iphone ios uinavigationcontroller uinavigationbar uinavigationitem

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

我正在尝试实现一个自定义的ViewController,其中一个视图代表一个标题,但我无法真正获得与原始UINavigationViewController相同的功能......

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

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

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

您可以在任何其他视图上方使用透明导航栏(灵活大小^^)并使用核心动画进行过渡动画(在UIKit中有更多动画选项用于push-pop动画)。

确保子类UIViewController并为其添加一个特殊的“custonNavigationController”属性(弱),您可以从自定义navigationcontroller中设置该属性。使用此类作为基本视图控制器类(或者,创建一个在UIViewController,UITableViewController的子类中实现的协议,......作为这些类的基类)。 你“可以”覆盖“旧”navigationController属性的getter方法,这样你就可以使用其他(Apple,第三方框架)视图控制器。

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

到目前为止,这在我们的项目中表现得非常好。