popViewControllerAnimated更改了UINavigationBar的UIColor

时间:2014-06-09 20:54:10

标签: ios objective-c popviewcontrolleranimated

我有一个' 返回'正如你在第四个ViewController

中看到的那样UIBarButtonItem

后退按钮连接到IBAction:

- (IBAction)backClicked:(UIBarButtonItem *)sender
{
    [self.navigationController popViewControllerAnimated:YES];
}

但是当我从第四个ViewController调用popViewControllerAnimated:返回第三个ViewController时,它会改变Tab Bar标签UINavigationBar tintColor的原始颜色。 UITabBarController的原始导航栏tintColor由 AppDelegate 设置为绿色,弹出窗口将其更改为深灰色(第4个VC导航栏的颜色)

调用popViewControllerAnimated:时如何不丢失导航栏tintcolor?请帮助,我已经试图解决这个问题好几天了。

2 个答案:

答案 0 :(得分:2)

检查您是否在上一个视图的viewWillAppear中设置它。

答案 1 :(得分:0)

替换

[self.navigationController popViewControllerAnimated:YES];

以下(这是快速代码)

self.dismissViewControllerAnimated(true, completion: nil)

添加第四个视图控制器时,您没有使用导航控制器。这就是为什么简单地调用dismissViewControllerAnimated方法。

只有在通过pushViewController方法添加视图控制器时才必须使用UINavigationController及其pop方法。

我通过 - Go back to previous view controller doesn't work

了解到了这一点