我有一个基于 UINavigationBar 的应用程序。我创建了一个带有一些标题的自定义 UIView,并将其作为 subview 添加到导航栏:
[self.navigationController.navigationBar addSubview:_navbarView];
一切正常,直到我点击导航栏中的后退按钮并发生 UIViewController 转换。
问题是我的自定义 View 不会像 UINavigationBar 中的其他元素一样消失,它只是保持不变并在转换完成时消失。 我希望它像 UINavigationBar 的原生元素一样在过渡期间逐渐消失,有什么办法可以实现吗?
最佳答案
如果你向导航栏添加 subview ,那么它就会停留在那里;导航 Controller 不知道用它做任何特别的事情。您说您的自定义 View 有“一些标题” - 您是否尝试过这样做?
self.navigationItem.titleView = _navbarView;
然后导航 Controller 知道应该使用 View 来代替 Controller 的标题,并且它应该以动画方式进出。
如果这不起作用,您需要考虑成为导航 Controller 的委托(delegate)。从 iOS7 开始,这可能会变得相当复杂。
关于ios - UINaviagtionBar subview 在 UIViewController "Back"转换期间不会淡出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22308077/