我有一个基于UINavigationBar的应用程序 . 我创建了一个带有一些 Headers 的自定义UIView,并将其作为子视图添加到导航栏:
[self.navigationController.navigationBar addSubview:_navbarView];
一切正常,直到我点击导航栏中的后退按钮并发生UIViewController转换 .
问题是我的自定义视图不会像UINavigationBar中的其他元素一样消失,它只是保持不变并在转换完成时消失 . 我希望它在过渡期间像UINavigationBar的原生元素一样逐渐消失,有没有办法实现这一目标?
2 回答
如果您将子视图添加到导航栏,那么它将保留在那里;导航控制器不知道对它做什么特别的事情 . 你说你的自定义视图有“一些 Headers ” - 你试过这样做吗?
然后导航控制器知道应该使用视图来代替控制器的 Headers ,它应该进出动画 .
如果这不起作用,您需要考虑成为导航控制器的委托 . 从iOS7开始,这可能变得非常复杂 .
如果您需要自定义导航栏,最好使用自定义UINavigationBar创建UINavigationController
在您的导航栏类中,您可以实现