我的应用程序在其UINavigationBars中有一个带有自定义图像的后退按钮。在iOS 6中一切都很好,但在iOS 7中,按钮在大多数情况下都是“隐形的”。
当我将一个新的视图控制器推入UINavigationController时,新屏幕不显示后退按钮,但如果我触摸该按钮的位置,它就会淡入。
如果我在导航控制器上设置了两个没有动画的视图控制器,那么该按钮显示正常但不会显示后续推送。
我很确定我的代码中没有任何内容有意隐藏后退按钮并更改UINavigationBar上可用的各种颜色没有任何区别。
答案 0 :(得分:5)
这可能是由于您必须在iOS 7中引入两个新的UINavigationBar属性:
self.navigationController.navigationBar.backIndicatorImage = [UIImage customImage]; self.navigationController.navigationBar.backIndicatorTransitionMaskImage = [UIImage customImage];
来自iOS 7 Transition Guidelines:
“如果你想使用自定义图像来替换默认的雪佛龙,你还需要创建一个自定义的蒙版图像.iOS 7使用蒙版使前一个屏幕的标题看起来从 - 或者消失在雪佛龙中在导航过渡期间。要了解控制“后退”按钮和屏蔽图像的属性,请参阅UINavigationBar类参考。“