我对iOS 7有一些奇怪的麻烦。我的应用程序中有一个UINavigationBar
,它适用于iOS 6;
- IOS 6 -
然而,当我尝试在iOS 7上运行它时,我的后退按钮消失了。它在那里,仍在工作,可点击但不可见;
- IOS 7 -
如何解决此问题?
答案 0 :(得分:5)
通过BackButtonBackgroundImage
设置UIAppearance
目前在iOS 7中有一些奇怪的行为。这可能与更新的设计有关,它将rect-style按钮替换为backIndicatorImage(箭头)。
这留下了3个用于自定义后退按钮外观的选项:
通过在tintColor
(或其中一个超类)上设置UINavigationBar
属性来更改backIndicatorImage的颜色。
将backIndicatorImage
上的新UINavigationBar
属性设置为自定义图片。 (不要忘记设置backIndicatorTransitionMaskImage
或者它不起作用)
创建自定义UIBarButtonItem
并手动将其指定为UINavigationItem
的{{1}}。 (请参阅the answer)
答案 1 :(得分:2)
顺便说一句,如果你必须像我一样继续支持ios 6版本,请使用它;
if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_6_1)
{
// My iOS 6 back button background
self.navigationController.navigationBar.tintColor = [UIColor colorWithRed:39.0f/255.0f green:184.0f/255.0f blue:199.0f/255.0f alpha:1.0];
}
else
{
self.navigationController.navigationBar.tintColor = [UIColor whiteColor];
}
答案 2 :(得分:0)
我使用了Wes Dearborn的答案并实现了支持iOS5 +的后退按钮和iOS7的backIndicatorImage的好方法:
Back button strangely disappearing in UINavigationController but keeps working