在iOS 7中更改导航栏而不更改视图

时间:2014-03-07 21:44:06

标签: ios7 uiviewcontroller uinavigationcontroller pushviewcontroller

我有一个带导航视图控制器的常规主 - 细节应用程序,但是,在最低级别的视图控制器上,当用户选择它时,我想在同一视图中显示内容 但仍然让导航栏更新,就好像已按下新的视图控制器一样。

例如,在日历应用程序中,当用户按下时,它会缩小到月/年视图,但看起来不会更改视图控制器。

实现此目的的最佳方法是什么。当用户选择内容时,新内容会缩放到完整视图,因此用户不会对后退按钮的功能造成混淆。

我查看了使用pushNavigationItem,但这在导航视图控制器中不起作用......

谢谢!

1 个答案:

答案 0 :(得分:0)

为了记录,这就是我做的......

注意:对于常见情况,,这种技术可能会诱使您偏离Apple的人机界面指南。

•在UINavigationViewController

之上添加了UIView
[[UIApplication sharedApplication].delegate.window addSubview:customView];

•在新视图中,我放置了一个UINavigationBar,它被配置为与UINavigationViewController的导航栏相同(包括后退按钮!)

[navBar pushNavigationItem:item1 animated:NO]; // This item becomes the back button
[navBar pushNavigationItem:item2 animated:NO]; 

•然后您可以无缝地为新的navBar设置动画